【问题标题】:Assign Order to Customer after new customer import新客户导入后将订单分配给客户
【发布时间】:2018-07-11 12:33:12
【问题描述】:

我的网站被黑了,所有的客户都被删除了,但订单还在。

我从备份(通过 CSV)导入回客户,但订单不再与他们关联。

我需要知道如何将订单分配给数据库中的客户。是否有可能找到使用电子邮件再次链接它们的方法?因为电子邮件仍然出现在订单信息中。

这个查询已经把账户和订单关联起来了,这意味着我可以在订单页面看到客户信息。

将 sales_flat_order 更新为 SFO INNER JOIN customer_entity as C on C.email = SFO.customer_email SET SFO.customer_id = C.entity_id WHERE SFO.customer_is_guest = 0

但是当我打开客户账户 > 订单选项卡时,订单不存在。

【问题讨论】:

标签: mysql magento orders


【解决方案1】:

如果订单表中有来自客户表的外键,那么 您可以使用客户表中的值更新此字段,其中订单和客户的电子邮件相同。

类似这样的:

update Order_tab 
set Order_tab.CUS_ID=Customer_tab.CUS_ID
from Customer_tab as Customer_tab 
join Order_tab  as Order_tab 
on Order_tab.email= Customer_tab.email

更新取决于数据库结构。 也许您可以添加更多关于表格以及客户和订单之间链接的详细信息。

【讨论】:

  • 好吧,只是遥远的那样
  • 如果数据库结构复杂,分几个步骤。使用新的客户 ID 和电子邮件地址创建 tmp talbe,并将此表与包含订单的表进行比较
  • 这个查询已经把账户和订单关联起来,这意味着我可以在订单页面看到客户信息。 UPDATE sales_flat_order as SFO INNER JOIN customer_entity as C on C.email = SFO.customer_email SET SFO.customer_id = C.entity_id WHERE SFO.customer_is_guest = 0 但是当我打开客户帐户 > 订单选项卡时,订单不存在。
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多