Opencart 数据库中的 sql 查询有问题

Having problem with sql query in Opencart database

我正在尝试从另一个 table 的数据更新 1 个字段,但出现错误 #1242 - 子查询 returns 多于 1 行。

我 运行 的查询是:

UPDATE oc_order AS o 
SET o.date_added = ( SELECT date_added FROM oc_order_history 
                    WHERE order_id = o.order_id 
                    AND order_status_id = 5)

关于问题出在哪里或如何解决的任何想法?

你应该使用 JOIN.

UPDATE oc_order oc
INNER JOIN 
(
  SELECT date_added ,order_id
  FROM oc_order_history 
  WHERE order_status_id = 5
) as oh on oc.order_id=oh.order_id
set oc.date_added=oh.date_added ;

我认为 order_idJOIN 条件的关键。 测试它,让我知道它是否有帮助。 如果能给出一些例子数据,能得到正确答案就更好了。