[MySQL] Contrainte sur la clé étrangère ignorée.

Contrainte sur la clé étrangère ignorée. [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 03-02-2006 à 15:16:57    

J'ai crée 2 tables bidon avec juste un id comme clé primaire. La différence c que ds une table 'B' la clé primaire est a la fois étrangere et donc pointe sur la clé primaire reelle de la table 'A'. Cependant je peux toujours ajouter manuellement une clé inexistante dans la table 'A' dans la table 'B' ce qui viole la contrainte de cle etrangere ! :/
Ma question : quel est le script EXACTE pour que la contrainte soit respectée (j'ai essaié avec le ALTER TABLE add constraint ... mais la contrainte n'est pas pris en compte comme je vous dis)
aidez-moi  :sweat:

Reply

Marsh Posté le 03-02-2006 à 15:16:57   

Reply

Marsh Posté le 03-02-2006 à 15:21:26    

CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT, INDEX par_ind (parent_id),
             FOREIGN KEY (parent_id) REFERENCES parent(id)
             ON DELETE SET NULL
) TYPE=INNODB;


 
parait que ce code ci-dessus marche. Ca veut dire quoi le TYPE=INNODB ?????

Reply

Marsh Posté le 03-02-2006 à 19:57:50    

sous MySQL tu as deux types de tables : MyISAM et InnoDB
InnoDB te permet d'avoir des contraintes d'intégrité

Reply

Marsh Posté le 06-02-2006 à 09:47:52    

OK, tu peux m'en dire plus STP.
 
NB : dois-en conclure qu'hibernate n'est pas a jour avec le code MySQL généré ? (mapping de clé étrangère où il oubli d'ajouter TYPE=Innodb)


Message édité par Giz le 06-02-2006 à 09:49:15
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed