Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

colunas de auto-incremento de referência?


Você precisa criar uma coluna INT chamada algo como "parent_id" nas tabelas dependentes que armazenam o id da tabela principal que está referenciando. Quando você seleciona os registros do primeiro, você faria JOIN nas tabelas com o campo auto_increment do primeiro campo em relação ao "parent_id" do segundo.

Como MrSlayer menciona, use o ID recém-inserido da primeira tabela para atualizar "parent_id". Você deveria normalmente têm um campo de ID exclusivo na segunda tabela para exclusividade, mas não deve fazer parte do relacionamento com a primeira tabela.

Se você não tiver certeza sobre como obter o id para o qual a primeira tabela auto_increments quando você inserir, use 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');