[SQL] clés étrangères
Résolu/Fermé
azerty0
Messages postés
1274
Date d'inscription
samedi 27 octobre 2007
Statut
Membre
Dernière intervention
5 septembre 2013
-
28 juin 2010 à 15:21
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 - 28 juin 2010 à 17:19
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 - 28 juin 2010 à 17:19
A voir également:
- [SQL] clés étrangères
- Cles windows 8 - Guide
- Cles usb non reconnu - Guide
- Sql server recovery - Télécharger - Gestion de données
- Logiciel sql - Télécharger - Bases de données
- Sql replace plusieurs valeurs - Forum Programmation
5 réponses
gaetan753
Messages postés
108
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
6 mai 2013
31
28 juin 2010 à 15:23
28 juin 2010 à 15:23
bonjour,
ton ent_id_date n'est pas entre ' '
CONSTRAINT fk_entree_date FOREIGN KEY (ent_id_date)
ton ent_id_date n'est pas entre ' '
CONSTRAINT fk_entree_date FOREIGN KEY (ent_id_date)
azerty0
Messages postés
1274
Date d'inscription
samedi 27 octobre 2007
Statut
Membre
Dernière intervention
5 septembre 2013
75
Modifié par azerty0 le 28/06/2010 à 16:20
Modifié par azerty0 le 28/06/2010 à 16:20
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)
Merci :)
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 :)
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
Modifié par atout1 le 28/06/2010 à 16:43
Modifié par atout1 le 28/06/2010 à 16:43
si tu utilise PhpMyAdmin
vérifie si tas bien défini le champ format dans la table date comme index ?
car ça marche chez moi j'ai réussi à définir la clé etrangère ent_id_date qui comme référence le champ formate dans la table date
vérifie si tas bien défini le champ format dans la table date comme index ?
car ça marche chez moi j'ai réussi à définir la clé etrangère ent_id_date qui comme référence le champ formate dans la table date
azerty0
Messages postés
1274
Date d'inscription
samedi 27 octobre 2007
Statut
Membre
Dernière intervention
5 septembre 2013
75
28 juin 2010 à 16:50
28 juin 2010 à 16:50
Merci beaucoup, ca a fonctionné ! J'ignorais qu'il fallait déclaré l'autre champ en index... !!!
Faut-il que je laisse la clé étrangère ent_id_date en index dans la table entree ?
Faut-il que je laisse la clé étrangère ent_id_date en index dans la table entree ?
gaetan753
Messages postés
108
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
6 mai 2013
31
28 juin 2010 à 16:51
28 juin 2010 à 16:51
+1, ça marche aussi chez moi.
azerty0
Messages postés
1274
Date d'inscription
samedi 27 octobre 2007
Statut
Membre
Dernière intervention
5 septembre 2013
75
28 juin 2010 à 17:04
28 juin 2010 à 17:04
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 :
et pourtant, avec la syntaxe de entree avant ou apres date...
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...
gaetan753
Messages postés
108
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
6 mai 2013
31
28 juin 2010 à 17:08
28 juin 2010 à 17:08
fait des update table si tu peux pas les supprimer. enlève d'abord les contraintes, et supprime les tables.
azerty0
Messages postés
1274
Date d'inscription
samedi 27 octobre 2007
Statut
Membre
Dernière intervention
5 septembre 2013
75
28 juin 2010 à 15:29
28 juin 2010 à 15:29
Merci !!! il y en avant effectivement besoin !
Maintenant, il me dit ca :
Une idée ? ...
Maintenant, il me dit ca :
#1005 - Ne peut créer la table './osipe/enreg.frm' (Errcode: 150)
Une idée ? ...
gaetan753
Messages postés
108
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
6 mai 2013
31
28 juin 2010 à 15:43
28 juin 2010 à 15:43
est-ce que tes 2 dates sont bien au même format ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
azerty0
Messages postés
1274
Date d'inscription
samedi 27 octobre 2007
Statut
Membre
Dernière intervention
5 septembre 2013
75
28 juin 2010 à 15:57
28 juin 2010 à 15:57
Effectivement, mais PhPMyAdmin me met en rouge et en majuscule le mot date dans :
Est-ce que ca peut être du fait que le nom de ma table soit un type ?
REFERENCES date ('id_date') ON DELETE CASCADE
Est-ce que ca peut être du fait que le nom de ma table soit un type ?
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
Modifié par atout1 le 28/06/2010 à 16:05
Modifié par atout1 le 28/06/2010 à 16:05
salut,
essaye de changer le nom du table et voir cé ki te donne comme résultat ?
mais normalement cé pas ca le pb
tu peux nous donne la requete de la création des deux tables ??
essaye de changer le nom du table et voir cé ki te donne comme résultat ?
mais normalement cé pas ca le pb
tu peux nous donne la requete de la création des deux tables ??
gaetan753
Messages postés
108
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
6 mai 2013
31
28 juin 2010 à 16:04
28 juin 2010 à 16:04
Oui, c'est une bonne idée.