bonjour !
G un problème que je ne parviens vraiment pas à résoudre et ce n'est pas faute d'avoir esseyer.

J'ai tenter durant toute l'après-midi de me battre avec le check mais je dois bel et bien m'avouer vaincu. Je voulais simplement mettre une contrainte sur une table (à savoir : faire en sorte qu'une adresse email soit bien de la forme bidul@machin.com). Après bien 2 heures je me suis décidé à esseyer avec un exmeple pris sur le web.

J'ai donc simplement esseyé avec cette exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE TABLE voiture
(VTR_ID                INTEGER       NOT NULL PRIMARY KEY,
 VTR_MARQUE            CHAR(32)      NOT NULL,
 VTR_MODELE            VARCHAR(16),
 VTR_IMMATRICULATION   CHAR(10)      NOT NULL UNIQUE,
 VTR_COULEUR           CHAR(16),      
 constraint cool CHECK (VTR_COULEUR IN ('BLANC', 'NOIR', 'ROUGE', 'VERT', 'BLEU')))
TYPE=INNODB;
Ensuite j'esseye d'ajouter un ligne à la table et là il se passe ce qui se passait avec l'adresse email : il l'ajoute même si elle ne correspond pas au format.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
mysql> INSERT INTO voiture VALUES (1, 'DUPONT', 'test','test','test');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO voiture VALUES (2, 'DUPONT2', 'test2','test2','BLEU');
Query OK, 1 row affected (0.00 sec)
Et là je dois avouer que je n'y comprend vraiment plus rien.

Cet aprem j'ai tenté la manip sur un serveur mysql 3.23 et là je viens de le faire chez moi sur un serveur 4.0.15 et C toujours l e même résultat.

Celui qui me sort de la aura ma reconnaissance éternelle.

merci d'avance

PS: comment pourrais je être sur que le support innodb est actif ? Et s'ikl ne l'est pas comment faire pour l'activer ?