我有两张表客户和订单表。
这些表包含20000条记录
我需要的是根据电子邮件用客户id更新订单表。
我可以使用子查询和php吗?或者可以使用一个查询和有效的方法来完成?
客户表
id email name
--------------
1 | email1 | name1
2 | email2 | name3
3 | email3 | name3
订单表
order_id customer_id email product name group_id
-------------- -----------------------------------------
1 1 email1 prod1 0
2 (NULL) email1 prod1 1
3 1 email1 prod1 0
4 (NULL) email2 prod1 1
5 2 email2 prod1 0
6 2 email2 prod1 1
7 (NULL) email2 prod1 1
2 (NULL) email1 prod1 1
组id=0表示客户有帐户
组id=1表示客户没有帐户
最佳答案
也许这个(未经测试)
UPDATE orders o SET o.customer_id = (SELECT c.customer_id FROM customers c WHERE c.email = o.email)