[SQL] clés étrangères
Résolu
azerty0
Messages postés
1270
Date d'inscription
Statut
Membre
Dernière intervention
-
azerty0 Messages postés 1270 Date d'inscription Statut Membre Dernière intervention -
azerty0 Messages postés 1270 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème dans la déclaration de mes clés étrangères, impossible de trouver ce qui ne fonctionne pas :
Vous voyez quelque chose qui cloche ?
Merci d'avance,
Az
J'ai un problème dans la déclaration de mes clés étrangères, impossible de trouver ce qui ne fonctionne pas :
CREATE TABLE 'entree' (
'ent_id' int(10) unsigned NOT NULL auto_increment,
'ent_id_date' date NOT NULL,
CONSTRAINT pk_entree PRIMARY KEY ('ent_id'),
CONSTRAINT fk_entree_date FOREIGN KEY (ent_id_date) REFERENCES date (id_date) ON DELETE CASCADE
) ENGINE =InnoDB DEFAULT CHARSET=utf8 ;
Vous voyez quelque chose qui cloche ?
Merci d'avance,
Az
5 réponses
-
bonjour,
ton ent_id_date n'est pas entre ' '
CONSTRAINT fk_entree_date FOREIGN KEY (ent_id_date) -
J'ai essayé, ca n'a rien changé, j'allais le poster, les deux tables avec une modif, je m'étais planté sur la clé étrangère (donc les types ne correspondaient pas, mais cela ne change rien)
DROP TABLE IF EXISTS 'date'; CREATE TABLE 'date' ( 'id_date' int(10) unsigned NOT NULL auto_increment', 'formate' date NOT NULL, 'jour' varchar(8) default NULL, CONSTRAINT pk_date PRIMARY KEY ('id_date') ) ENGINE =InnoDB DEFAULT CHARSET=utf8 ; DROP TABLE IF EXISTS 'entree'; CREATE TABLE 'entree' ( 'ent_id' int(10) unsigned NOT NULL auto_increment, 'ent_id_date' date NOT NULL , 'ent_heure_deb' int(2) NOT NULL, 'ent_heure_fin' int(2) NOT NULL, CONSTRAINT pk_entree PRIMARY KEY ('ent_id'), INDEX date_ind ('ent_id_date'), CONSTRAINT fk_entree_date FOREIGN KEY ('ent_id_date') REFERENCES 'date' ('formate') ON DELETE CASCADE ) ENGINE =InnoDB DEFAULT CHARSET=utf8 ;
Merci :)-
-
-
-
J'ai donc rajouté dans table :
INDEX formate_ind ('formate')
Mais maintenant, une autre erreur parvient : Il n'arrive pas a supprimer la table date et pour cause :
#1217 - Impossible de supprimer un enregistrement père : une constrainte externe l'empèche
et pourtant, avec la syntaxe de entree avant ou apres date... -
-
-
Merci !!! il y en avant effectivement besoin !
Maintenant, il me dit ca :#1005 - Ne peut créer la table './osipe/enreg.frm' (Errcode: 150)
Une idée ? ... -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Effectivement, mais PhPMyAdmin me met en rouge et en majuscule le mot date dans :
REFERENCES date ('id_date') ON DELETE CASCADE
Est-ce que ca peut être du fait que le nom de ma table soit un type ?