J'ai eu la maladresse de croire que Le type ENUM de Mysql pouvait servir de garde fou.
En effet
[SQL] create table `test_enum`( `id` int UNSIGNED NOT NULL AUTO_INCREMENT , `monEnum` enum('a','brol','7') , `monAutreEnum` enum('a','brol','7') NOT NULL , PRIMARY KEY (`id`) ) ;
Je ne veux que 'a','brol' ou '7', éventuellement NULL dans monEnum
insert into `test_enum`(`id`,`monEnum`,`monAutreEnum`) values ( NULL,'a','a'); # (1 row(s) affected) insert into `test_enum`(`id`,`monEnum`,`monAutreEnum`) values ( NULL,NULL,'a'); # (1 row(s) affected) insert into `test_enum`(`id`,`monEnum`,`monAutreEnum`) values ( NULL,'a',NULL); # Error Code : 1048 # Column 'monAutreEnum' cannot be null insert into `test_enum`(`id`,`monEnum`,`monAutreEnum`) values ( NULL,NULL,NULL); # Error Code : 1048 # Column 'monAutreEnum' cannot be null
id …[Lire plus]