[mySQL] Définiton d'une clé étrangère

Définiton d'une clé étrangère [mySQL] - Programmation

Marsh Posté le 19-12-2001 à 17:06:02    

A votre avis qu'est-ce qui merde dans cette définition de clé étangère ? (la table est créée correctement mais la contrainte de clé étrangère n'a aucun effet par la suite)
 
CREATE TABLE FILM (
code   smallint   NOT NULL   PRIMARY KEY,
titre   varchar(100)   NULL,
code_realisateur   NOT NULL   REFERENCES REALISATEUR(code));

Reply

Marsh Posté le 19-12-2001 à 17:06:02   

Reply

Marsh Posté le 19-12-2001 à 17:09:39    

Euhhh MySQL gère les clés étrangères ????
 
:D
 
A++

Reply

Marsh Posté le 19-12-2001 à 17:12:01    

Normal c'est pas encore effectif !!!

 

[edtdd]--Message édité par fly LM--[/edtdd]

Reply

Marsh Posté le 19-12-2001 à 17:19:18    

Ah bon mySQL ne gère pas les clés étrangères ?
Ben merde alors :ouch: :ouch: :ouch:
C'est prévu un jour ou l'autre ?

Reply

Marsh Posté le 19-12-2001 à 17:26:42    

oibaf2001 a écrit a écrit :

Ah bon mySQL ne gère pas les clés étrangères ?
Ben merde alors :ouch: :ouch: :ouch:
C'est prévu un jour ou l'autre ?  




 
J'sais pas. Tu trouveras peut-être la réponse là :
 
http://www.mysql.com

Reply

Marsh Posté le 19-12-2001 à 17:42:45    

:hello: normal c kan tu va faire ta requete
mais si tu cherche, tu trouvera un poste de juju_le_barbare à ce sujet  ;)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 19-12-2001 à 18:21:36    

fly LM a écrit a écrit :

Normal c'est pas encore effectif !!!  
 
 




 
J'a dit une connerie, enfin y-a des contraintes :
 
"In MySQL 3.23.44 and up, InnoDB tables supports checking of foreign key constraints"

Reply

Marsh Posté le 19-12-2001 à 18:27:45    

Citation :

normal c kan tu va faire ta requete  
mais si tu cherche, tu trouvera un poste de juju_le_barbare à ce sujet


J'ai effectué une recherche avant de poser la question mais je n'ai rien trouvé. Si tu fais allusion à celui là : http://forum.hardware.fr/forum2.ph [...] &owntopic=
il ne réponds pas du tout à ma question, il explique juste ce qu'est une contrainte d'intégrité référentielle (= clé étrangère).

Citation :

J'a dit une connerie, enfin y-a des contraintes :  
 
"In MySQL 3.23.44 and up, InnoDB tables supports checking of foreign key constraints"


Ca c'est très interessant car je viens de vérifier, la version de mySQL que j'ai d'installée est justement la 3.23.44. D'où, retour à la case départ : pourquoi mon script de création de table ignore la clé étrangère ? (je remarque ça non pas par un message d'erreur, mais à l'utilisation car on peut supprimer un réalisateur sans avoir supprimé tous ses films auparavant)

Reply

Marsh Posté le 19-12-2001 à 18:41:23    

Ton format de table -> c'est MyISAM, ISAM ???
 
Y-a que le format InnoDB qui apparement supporte les clés étrangères.
 
Mais bon, tu peux t'en passer des clés étrangères...Non ??

Reply

Marsh Posté le 19-12-2001 à 18:43:59    

:jap: desolé :jap:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 19-12-2001 à 18:43:59   

Reply

Marsh Posté le 19-12-2001 à 19:10:20    

Citation :

Ton format de table -> c'est MyISAM, ISAM ???


Après vérification c'est MyISAM (en fait c'est le truc par défaut parce que j'ai aucune idée de ce que ça change).

Citation :

Y-a que le format InnoDB qui apparement supporte les clés étrangères.
 
Mais bon, tu peux t'en passer des clés étrangères...Non ??  


Bon ben tant pis alors... :cry:
Bien sûr je peux m'en passer, mais bon pour moi, les contraintes d'intégrité c'était essentiel pour être sûr et certain d'avoir une base propre. Et ça raccourcit pas mal le code PHP en évitant de faire 36 vérifs à chaque suppression de donnée.
 
> SteF_DOBERMANN : no problem!

Reply

Marsh Posté le 20-12-2001 à 10:30:48    

Crée tes tables au format Innodb si tu veux utiliser les clés étrangères :
 
http://www.innodb.com/
 
http://www.mysql.com/doc/T/a/Table_types.html
 
http://www.mysql.com/doc/I/n/InnoDB.html
 
@+

Reply

Marsh Posté le 20-12-2001 à 11:25:08    

Quelqu'uns a des infos veritables sur ce type de tables ?
Des tests avec ce qu'il en pense etc..
 
C gratuit non ?
C plus puissant que l'isam ?

Reply

Marsh Posté le 20-12-2001 à 13:28:24    

mySQl ne gère pas les contraintes, tu dois les gérer du côté du client !
En tout cas, c'est sur, pas de clé étrangère pour l'instant...

Reply

Marsh Posté le 20-12-2001 à 13:44:45    

pudaipiai a écrit a écrit :

mySQl ne gère pas les contraintes, tu dois les gérer du côté du client !
En tout cas, c'est sur, pas de clé étrangère pour l'instant...  




 
Tu as lu l'intégrité du topic ???
 
InnoDB is the first MySQL table type which allows you to define foreign key constraints to guard the integrity of your data.

 

[edtdd]--Message édité par fly LM--[/edtdd]

Reply

Marsh Posté le 20-12-2001 à 13:47:04    

ouais et pas de select interne non plus  :(

Reply

Marsh Posté le 20-12-2001 à 13:53:25    

benou a écrit a écrit :

ouais et pas de select interne non plus  :(  




 
Les sous requêtes sont normalement prévues au cours de la version 4.x, donc bientôt...

Reply

Sujets relatifs:

Leave a Replay

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