Requete php clé étrangeres

Fermé
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 - 24 mars 2009 à 01:44
 ouail_eus - 28 mai 2011 à 00:11
Bonsoir;
je suis entrain de travailler pour la première fois sur un site web dynamique avec le easyphp1.6 et j'ai un problème concernant les clés en effet plusieurs de mes tables possèdent des clés primaire en auto-incrémentation. certaines de ses clés primaire j'aurais besoin d'eux en tant clés étrangère dans mes tables association.le problème est que je ne sais pas créer une clé étrangère sous PhpMyAdmin!! comment devra être le syntaxe de ma requête pour que j'impute en même tant dans les clés primaire et étrangère??
Merci de vos réponse
A voir également:

6 réponses

gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 329
24 mars 2009 à 03:56
je ne sais pas créer une clé étrangère sous PhpMyAdmin
Tu la créé manuellement :
Table parent : id
Table enfant : parent_id ou ce que tu veux
devra être le syntaxe de ma requête
Il faut utiliser les jointures SQL pour la récupération. Google pour des infos. developpez.com est un bon site de ressources. MySQL également.
Il faut faire ton script manuellement pour les liaisons à l'insertion/update.
0
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
24 mars 2009 à 12:30
salut merci pour votre réponse à l'étape ou je suis dans ma conception je suis bloqué dans le problème de comment inserer et mettre à jour mes clés étrangères (les script manuels dont vous avez parlé) en effet ma difficulté consiste dans le fait que mes clés, la plupart sont en auto-increment et je ne sais pas m'y faire!!
merci
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 329
24 mars 2009 à 16:03
Salut,

http://dev.mysql.com/doc/refman/5.0/fr/information-functions.html
LAST_INSERT_ID(), LAST_INSERT_ID(expr)

Retourne le dernier identifiant automatiquement généré par une colonne AUTO_INCREMENT.

mysql> SELECT LAST_INSERT_ID();
-> 195

Le dernier ID généré est conservé par le serveur pour chaque connexion. Un autre client ne la modifiera donc pas, même s'ils génèrent une autre valeur AUTO_INCREMENT de leur coté. Ce comportement permet de s'assurer que les actions des autres clients ne perturbe pas les actions du client en cours.

La valeur de LAST_INSERT_ID() ne sera pas modifiée non plus si vous modifiez directement la valeur d'une colonne AUTO_INCREMENT avec une valeur simple (c'est à dire, une valeur qui n'est ni NULL, ni 0).

Si vous insérez plusieurs lignes au même moment avec une requête INSERT, LAST_INSERT_ID() retourne la valeur de la première ligne insérée. La raison à cela est que cela rend possible la reproduction facilement la même requête INSERT sur d'autres serveurs.

Si vous utilisez une commande INSERT IGNORE et que la ligne est ignorée, le compteur AUTO_INCREMENT sera malgré tout incrémenté, et LAST_INSERT_ID() retournera une nouvelle valeur.

Si expr est donnée en argument à la fonction LAST_INSERT_ID(), alors la valeur de l'argument sera retourné par la fonction et sera enregistré comme étant la prochaine valeur retournée par LAST_INSERT_ID(). Cela peut être utilisé pour simuler des séquences :
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 329
24 mars 2009 à 16:05
Je te redonnes les liens :

http://dev.mysql.com/doc/refman/5.0/fr/
https://www.developpez.net/forums/

De très bonnes ressources ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
roy mustang Messages postés 110 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 2 juin 2009 2
26 mars 2009 à 01:29
merci c'est très gentil ^^ tout ceci va m'être utile :) je vais l'essayer:)
0
La requête pour créer un clé étrangère est:
Alter table NomDeLaTable
ADD FOREIGN KEY NomDuCle References TableReference (NomCleDansCetteTable)
0