Comment créer une fonction de recuperation d'une clé primaire
Résolu/Fermé
A voir également:
- Comment créer une fonction de recuperation d'une clé primaire
- Clé windows 10 gratuit - Guide
- Cle usb non reconnu - Guide
- Créer une liste déroulante excel - Guide
- Comment créer un groupe whatsapp - Guide
- Créer une adresse hotmail - Guide
1 réponse
Anoen
Messages postés
196
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
11 septembre 2013
25
20 août 2013 à 01:47
20 août 2013 à 01:47
Bonjour,
Si tu reçois cette erreur c'est que ta conception est mauvaise. La "circulation de l'information" exige vraiment d'enregistrer un bénéficiaire avant parent ? Car si parent est une clé étrangère, l'enregistrement de parent doit être fait avant le bénéficiaire. SQL ne peut pas enregistrer une information qui n'existe pas.
Revois le parcours de tes données, c'est la seule chose à faire.
Si tu reçois cette erreur c'est que ta conception est mauvaise. La "circulation de l'information" exige vraiment d'enregistrer un bénéficiaire avant parent ? Car si parent est une clé étrangère, l'enregistrement de parent doit être fait avant le bénéficiaire. SQL ne peut pas enregistrer une information qui n'existe pas.
Revois le parcours de tes données, c'est la seule chose à faire.
22 août 2013 à 14:44
Voici la fonction que je vous demandez;
Les etapes à suivre:
1. Nous savons qu'il faut l'inserer à l'interieur du code php ou le créer appart mais moi j'ai preferé la premiere methode.
2. Lorsque vous voulez inserer les données dans la table d'une base de données, avant l'insertion dans la table secondaire, il faut d'abord recuperer la clé primaire de la table principale qui est la clé etrangere dans la table secondaire.
Code:
function getLastId($table, $pk) {
$sql = "SELECT ".$pk." from ".$table." order by ".$pk." desc limit 1";
$res = mysql_query($sql);
if($resultat = mysql_fetch_assoc($res)) {
return $resultat[$pk];
}
}
3. Confirmer cette fonction en envoyant dans la BD comme suit:
$req=mysql_query(); table principale
$id=getLastId(Nom_table, Clé_Primaire);
$req1=mysql_query("insert into Nom_table() values('','$id')"); table secondaire