我有两张桌子,我的环境交易是允许的......
表A - ID +名称
表B - ID +值A +值B + IDTable A
我可以知道如何编写查询以立即插入值吗?希望它可以在单个查询中完成...只是性能是最受关注的。
答案 0 :(得分:2)
您不能使用单个查询在不同的表上插入。
insert into tableA (name) values ('name');
set @last = last_insert_id();
insert into tableB (valueA,valueB,idtableA) values ('valueA','valueB',@last);
答案 1 :(得分:2)
mysql_query("BEGIN");
$result_1 = mysql_query("INSERT INTO table_a ('name') values ('Chris')");
if( ! $result_1) {
mysql_query("ROLLBACK");
die(); // or handle the error however you choose
}
$table_1_id = mysql_insert_id();
$result_2 = mysql_query("INSERT INTO table_b ('value_a', 'value_b', 'table_a_id') values ('v1', 'v2', $table_1_id)");
if( ! $result_2) {
mysql_query("ROLLBACK");
die(); // or handle the error however you choose
}
mysql_query("COMMIT");