正如我在另一个查询中发布的那样,我有一个包含推文的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命令?谢谢
您的建议 - 在生产系统中存储冗余数据并使用 truncate 定期进行清理 - 并不是最好的方法。
相反,我建议您考虑关闭自动提交并使用启动事务,提交和可选的回滚(http://dev.mysql.com/doc/refman/5.1/en/commit.html)。
您将看到您可以创建一个同时完成多件事的工作单元,而不必依赖您的建议。