sql >> Databasteknik >  >> RDS >> Mysql

referera till kolumner för automatisk ökning?

Du måste skapa en INT-kolumn som heter något i stil med "parent_id" i de beroende tabellerna som lagrar ID:t för huvudtabellen som den refererar till. När du väljer poster från den första skulle du JOIN tabellerna med auto_increment-fältet i det första fältet mot "parent_id" för det andra.

Som MrSlayer nämner, använd det nyligen infogade ID:t för den första tabellen för att uppdatera "parent_id". Du bör har vanligtvis ett unikt ID-fält i den andra tabellen för unikhet, men det bör inte vara en del av relationen till den första tabellen.

Om du är osäker på hur du skaffar id:t som den första tabellen auto_inkrementerar till när du infogar, använd 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'); 



  1. Begränsningar för främmande nyckel:När ska man använda PÅ UPPDATERING och PÅ DELETE

  2. Gruppera endast de intilliggande raderna

  3. Hur bestämmer du vilka SQL-tabeller som har en identitetskolumn programmatiskt

  4. Hur kan jag infoga flera rader i oracle med ett sekvensvärde?