-1

正如我在另一个查询中发布的那样,我有一个包含推文的 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 命令?谢谢

4

1 回答 1

0

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

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

您会看到,您可以创建一个同时执行多项操作的工作单元,而不必依赖您所提议的内容。

于 2012-05-11T19:22:26.210 回答