MySQL clé étrangère

MySQL clé étrangère - Programmation

Marsh Posté le 07-09-2001 à 10:34:04    

dans une requête create table, si je ne m'abuse la syntaxe pour une clé étrangère c'est bien :
 
foreign key (champ) references table(nom_champ)
 
ma requête est exécutée sans problème, mais quand je regarde la def de ma table ensuite, aucune clé étrangère n'apparait, des idées ?

Reply

Marsh Posté le 07-09-2001 à 10:34:04   

Reply

Marsh Posté le 07-09-2001 à 11:40:12    

c'est un enregistrement qui fait référence a un autre dans une autre table, pour éviter des erreurs de coérence entre les tables.

Reply

Marsh Posté le 07-09-2001 à 11:42:46    

no lo so je n'ai jamais utilsé la syntaxe SQL pour ces clefs.

Reply

Marsh Posté le 07-09-2001 à 11:43:21    

si c'est mysql que tu emploies...
 

Citation :


The FOREIGN KEY syntax in MySQL exists only for compatibility with other SQL vendors' CREATE TABLE commands; it doesn't do anything. The FOREIGN KEY syntax without ON DELETE ... is mostly used for documentation purposes. Some ODBC applications may use this to produce automatic WHERE clauses, but this is usually easy to override. FOREIGN KEY is sometimes used as a constraint check, but this check is unnecessary in practice if rows are inserted into the tables in the right order. MySQL only supports these clauses because some applications require them to exist (regardless of whether or not they work).


---------------
oui oui
Reply

Marsh Posté le 07-09-2001 à 11:45:15    

donc apparemment tu peux l'employer, mais je crois que ca ne va rien faire (enfin pour la version actuelle).


---------------
oui oui
Reply

Marsh Posté le 07-09-2001 à 11:49:14    

art_dupond a écrit a écrit :

si c'est mysql que tu emploies...
 

Citation :


The FOREIGN KEY syntax in MySQL exists only for compatibility with other SQL vendors' CREATE TABLE commands; it doesn't do anything. The FOREIGN KEY syntax without ON DELETE ... is mostly used for documentation purposes. Some ODBC applications may use this to produce automatic WHERE clauses, but this is usually easy to override. FOREIGN KEY is sometimes used as a constraint check, but this check is unnecessary in practice if rows are inserted into the tables in the right order. MySQL only supports these clauses because some applications require them to exist (regardless of whether or not they work).

 




 
Tout à fait, MySql accepte la declaration de clef etrangères (Foreign Key) mais ne les gèrent pas ... Il est donc à la charge du programmeur de gérer l'integrité de sa BDD avec des méthodes plus ou moins efficace ...
 
A+

Reply

Marsh Posté le 07-09-2001 à 12:00:30    

:cry: tant pis

Reply

Sujets relatifs:

Leave a Replay

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