使用表2更新表1然后截断表2

时间:2012-05-11 16:46:59

标签: php mysql join truncate

正如我在另一个查询中发布的那样,我有一个包含推文的MYSQL表,并使用PHP填充它。为了确保没有重复的帖子,它会在更新之前检查表中的最后一个ID,我认为这是为什么当试图让它检查retweet_count时它失败了(它忽略了已存储的推文)。

我的工作是使用相同的脚本来填充第二个表,然后运行以下两个SQL命令:

 UPDATE table1 JOIN table2 ON table2.col1 = table1.col1 SET table1.col2 = table2.col2;

接着是

 TRUNCATE TABLE table2;

更新第一个表然后清空(不删除,只是截断)第二个表,这样我就可以重复了。

问题是如何在PHP中编写,以便首先执行JOIN命令,然后执行TRUNCATE命令? 感谢

1 个答案:

答案 0 :(得分:0)

您的建议 - 在生产系统中定期存储冗余数据和清理 - 不是最好的方法。

相反,我建议您关闭自动提交并使用START TRANSACTION,COMMIT和ROLL BACK(http://dev.mysql.com/doc/refman/5.1/en/commit。 HTML)。

你会发现你可以创建一个工作单元,一次完成几件事,你不必依赖你提出的建议。