Mysql
 sql >> Base de données >  >> RDS >> Mysql

référencer des colonnes à incrémentation automatique ?

Vous devez créer une colonne INT appelée quelque chose comme "parent_id" dans les tables dépendantes qui stocke l'ID de la table principale à laquelle elle fait référence. Lorsque vous sélectionnez des enregistrements dans le premier, vous devez alors JOINDRE les tables avec le champ auto_increment du premier champ par rapport au "parent_id" du second.

Comme le mentionne MrSlayer, utilisez l'ID nouvellement inséré de la première table pour mettre à jour "parent_id". Vous devriez ont généralement un champ d'ID unique dans la deuxième table pour l'unicité, mais il ne doit pas faire partie de la relation avec la première table.

Si vous ne savez pas comment obtenir l'identifiant auquel la première table s'auto_incrémente lorsque vous l'insérez, utilisez mysql_insert_id() .

mysql_query("INSERT INTO table1 ...");
echo "Last inserted record_id in table1 was " .  mysql_insert_id();

INSERT INTO table1 (mytextcolumn) VALUES('text');
INSERT INTO table2 (parent_id,image_name) VALUES(LAST_INSERT_ID(),'someimage.png');