Phpmyadmin: Modifier la table avec TEXT DEFAULT '' se comporte mal

Créé le 28 juin 2019  ·  3Commentaires  ·  Source: phpmyadmin/phpmyadmin

Changer la valeur par défaut d'un champ de type TEXTE à rien (chaîne vide), ajoute deux guillemets comme nouvelle valeur par défaut.

Étant donné une table « test » avec un champ « contenu » en tant que TEXTE.

Reproduire la v1 :

  • ouvrir la vue de la structure du tableau
  • cliquez sur CHANGER pour le champ 'contenu'
  • modifiez les paramètres de champ sur DEFAULT « Comme défini » et laissez la valeur par défaut vide.

Reproduire v2 :

  • allez dans SQL et
  • ALTER TABLE `test` CHANGE `content` `content` TEXT NOT NULL DEFAULT '';

Attendu:

  • Dans la vue de la structure, la valeur par défaut doit être vide et ne pas afficher '' (comparer au type varchar).
  • Le formulaire INSERT ne doit pas ajouter '' au champ de texte mais le laisser vide.

Environnement:

  • Système d'exploitation : Win10
  • Serveur Web : Apache/2.4.39 (Win64) OpenSSL/1.1.1c
  • Version de la base de données : 10.3.15-MariaDB
  • Version PHP : PHP/7.3.6
  • Version de phpMyAdmin : 4.9.0.1
  • Navigateur : Tout
  • Système d'exploitation : Tout

J'ai vérifié le problème avec un environnement Linux complètement différent, mais je n'ai pas les spécifications pour le moment.

bug has-pr

Tous les 3 commentaires

image

image

image

image

Je viens de reproduire cela et j'allais ouvrir un sujet !

Tableau d'essai :


CREATE TABLE `issue-15363` (
  `id` int(11) DEFAULT NULL,
  `empty text` text DEFAULT '',
  `empty varchar` varchar(25) NOT NULL DEFAULT '',
  `really empty string` varchar(25) NOT NULL DEFAULT '''''',
  `really empty text` text NOT NULL DEFAULT '\'\'',
  `l'eau dans un varchar` varchar(25) NOT NULL DEFAULT 'l''eau ',
  `l'eau 2` text NOT NULL DEFAULT 'l\'eau',
  `l'eau dans un texte` text NOT NULL DEFAULT 'l\'eau',
  `l'eau` varchar(25) NOT NULL DEFAULT 'l''eau \\n \\n \\t l''eau',
  `l'eau 3` text NOT NULL DEFAULT 'l\'eau \\n \\n \\t l\'eau'
) ENGINE=InnoDB;
Cette page vous a été utile?
0 / 5 - 0 notes