Mysql
 sql >> Database >  >> RDS >> Mysql

fare riferimento a colonne con incremento automatico?

È necessario creare una colonna INT chiamata qualcosa come "parent_id" nelle tabelle dipendenti che memorizza l'id della tabella principale a cui fa riferimento. Quando selezioni i record dal primo, UNISCI alle tabelle con il campo auto_increment del primo campo contro il "parent_id" del secondo.

Come menziona MrSlayer, usa l'ID appena inserito della prima tabella per aggiornare "parent_id". dovresti in genere hanno un campo ID univoco nella seconda tabella per l'unicità, ma non dovrebbe far parte della relazione con la prima tabella.

Se non sei chiaro su come ottenere l'id a cui la prima tabella si auto_increments quando inserisci, usa 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');