【发布时间】:2012-07-26 09:02:38
【问题描述】:
我需要用 PHP 更新 MySQL 中的两个表。第二个表需要插入到第一个表中的行的 ID。
目前我有一些 PHP 代码循环遍历数组中的每个项目:
- 通过尝试获取记录的 ID 来检查记录是否存在。
- 如果记录不存在,则插入它并获取最后一个插入 ID。
- 使用我们找到的 ID 作为外键更新第二个表。
这是非常低效的,因为要进行多个数据库调用。我宁愿将数据存储在两个数组中,每个表一个,然后在循环完成时批量插入它们。问题是我需要先获取第一个表中行的 ID,然后才能执行此操作。
这是我经常遇到的问题。最有效/“最佳实践”的方法是什么?
谢谢
【问题讨论】:
-
您可以执行以下步骤吗: 1. 将记录批量插入 table1 2. 批量更新 table2 中的记录(您需要条件匹配 table1 中的记录与 table2 中的记录相关)