Bonjour à tous !
Alors j'ai un petit soucis pour insérer des données dans deux tables, voici le problème :
A) Un premier INSERT de données est fait dans une table A.
B) Ensuite un second INSERT est fait dans une table B
L'une des données à entrer dans cette table B est l'id de la ligne insérée dans la table A lors de l'étape A). Cet ID est donc une clé étrangère dans la table B.
Pour le moment, je récupère l'id en faisant une requete SELECT(intermédiaire entre l'étape A et B) en utilisant un WHERE sur la colonne "name" de la table A (qui devrait possiblement avoir des doublons de valeurs mais que j'empeche du coup pour avoir une unique réponse au SELECT).
Le code fonctionne, mais je ne trouve pas ma solution adaptée et optimisée
Quelle est la meilleure façon de procéder pour récupérer l'ID généré lors de l'étape A afin de le rentrer dans la table B avec le deuxieme INSERT ?
Faudrait-il créer un token aléatoire à ajouté dans la table A pour retrouver l'ID sans avoir besoin d'utiliser le champs "name"?
Ou existe il une meilleure solution ?
Merci d'avance !
Modifié par SpiStache (09 Jul 2014 - 16:21)
Alors j'ai un petit soucis pour insérer des données dans deux tables, voici le problème :
A) Un premier INSERT de données est fait dans une table A.
B) Ensuite un second INSERT est fait dans une table B
L'une des données à entrer dans cette table B est l'id de la ligne insérée dans la table A lors de l'étape A). Cet ID est donc une clé étrangère dans la table B.
Pour le moment, je récupère l'id en faisant une requete SELECT(intermédiaire entre l'étape A et B) en utilisant un WHERE sur la colonne "name" de la table A (qui devrait possiblement avoir des doublons de valeurs mais que j'empeche du coup pour avoir une unique réponse au SELECT).
Le code fonctionne, mais je ne trouve pas ma solution adaptée et optimisée
Quelle est la meilleure façon de procéder pour récupérer l'ID généré lors de l'étape A afin de le rentrer dans la table B avec le deuxieme INSERT ?
Faudrait-il créer un token aléatoire à ajouté dans la table A pour retrouver l'ID sans avoir besoin d'utiliser le champs "name"?
Ou existe il une meilleure solution ?
Merci d'avance !
Modifié par SpiStache (09 Jul 2014 - 16:21)