Bonjour à tous
Selon la doc MySQL 5 si une valeur est vide ('') dans une ENUM, elle est associée à un élément indicé à 0.
Je suis en 5.0.15-nt sous Windows.
Je n'arrive pas à insérer une telle valeur. Selon un collègue, en version 4, le script passe bien.
DROP TABLE UnCursus;
CREATE TABLE UnCursus
(num CHAR(4), nom CHAR(15),
diplome ENUM ('BTS','DUT','Licence','INSA'),
CONSTRAINT pk_Cursus PRIMARY KEY(num));
INSERT INTO UnCursus VALUES ('E0', 'P. Caboche', ('DUT'));
INSERT INTO UnCursus VALUES ('E1', 'F. Brouard', ('BTS'));
INSERT INTO UnCursus VALUES ('E2', 'F. Degrelle', 'Licence');
--Insert refusé : Normal
INSERT INTO UnCursus VALUES ('E3', 'Bug', ('MathSup'));
--? Comment insérer une chaîne vide ? les 2 inserts sont refusés!
INSERT INTO UnCursus VALUES ('E4', 'Vide', (''));
INSERT INTO UnCursus VALUES ('E4', 'Vide', '');
--les NULL passent
INSERT INTO UnCursus VALUES ('E5', 'Null', NULL);
INSERT INTO UnCursus (num, nom) VALUES ('E6', 'Null2');
SELECT nom, diplome, diplome+0 FROM UnCursus;
DROP TABLE UnCursus;
Partager