CommentCaMarche
Recherche
Posez votre question Signaler

Requete php clé étrangeres

roy mustang 111Messages postés mardi 24 février 2009Date d'inscription 24 février 2011Dernière intervention - Dernière réponse le 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
Lire la suite 
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 :
Ajouter un commentaire
Réponse
+0
moins plus
Je te redonnes les liens :

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

De très bonnes ressources ...
Ajouter un commentaire
Réponse
+0
moins plus
merci c'est très gentil ^^ tout ceci va m'être utile :) je vais l'essayer:)
Ajouter un commentaire
Réponse
+0
moins plus
La requête pour créer un clé étrangère est:
Alter table NomDeLaTable
ADD FOREIGN KEY NomDuCle References TableReference (NomCleDansCetteTable)
Ajouter un commentaire
Ce document intitulé «  requete php clé étrangeres  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.