如何将某些地址标记为在MySQL数据库中发送?

时间:2012-05-08 21:10:28

标签: mysql sql phpmyadmin

我有一个包含70k名称,地址等的数据库。我还有一个已经发送订单的30,000个地址列表。

现在我有以下MySQL声明:

UPDATE `order_requests`
  SET `exported_sent`='sent_2012_05_07'
WHERE `request_address` IN (SELECT `request_address` FROM sent_list)

我觉得这应该可行,唯一的问题是有很多查询涉及phpMyAdmin保持超时。不幸的是,我只能匹配fname,lname,address,zip等等,因为这两个表没有通过公共ID或类似的东西链接。

PS。我正在开发一个php脚本,所以我不必再次手动执行此操作,但是我之前的人做错了,所以我正在修复这个问题!谢谢!

2 个答案:

答案 0 :(得分:2)

加入

可能会快得多
UPDATE `order_requests` JOIN sent_list USING(request_address) SET `exported_sent`='sent_2012_05_07';

如果没有连接,MySQL很可能会为SELECT request_address FROM sent_list中的每一行重新执行查询order_requests

答案 1 :(得分:0)

由于标准的浏览器超时,phpMyAdmin可能会超时。您是否尝试通过命令行MySQL客户端运行查询?它不应受相同的默认超时影响。