同时提交多个查询mysql两次插入相同的id

时间:2018-01-11 19:23:22

标签: php mysql

想要同时向table_a提交table_b的自动增值。我首先将记录插入table_a,然后从id获取最后一个主table_a并将其插入table_b。 它在低速下运行良好,如每秒20条记录,但速度快,多用户级别,它将table_a的重复ID插入table_b

enter image description here

我的做法是错的吗?请建议更好的方法来做到这一点。

query1 = "insert into `table_a` (`aid`,`name`) values(null,'val')";

query2 = "select `id` from `table_a` order by `id` desc limit 1";

$aid='retrieved_value';

query3 = "insert into table_b (`bid`,`aid`,`btype`) values (null,'$aid','val')";

1 个答案:

答案 0 :(得分:3)

是的,你的做法是错误的。这非常有趣。您无法保证query2会返回与query1相关的ID。更好的方法是使用last_insert_id函数。