MySQL 更新:每个派生 table 必须有自己的别名
MySQL UPDATE: Every derived table must have its own alias
MySQL 中的以下查询:
UPDATE e_element e1
INNER JOIN
(
SELECT DVAL
FROM e1
INNER JOIN e_element e2
ON e1.ENT_OID = e2.ENT_OID
WHERE
e2.META_OID = 336810 AND
e1.META_OID = 359462 AND
e1.DVAL = '0001-01-01 00:00:00'
)
SET e1.DVAL = e2.DVAL;
抛出以下错误:
Error Code: 1248
Every derived table must have its own alias
我用两个 select 语句尝试了几个不同的选项,但我永远无法实现我想要的结果,即在这些条件下将值从 e2 复制到 e1
您的查询有多个错误。 . .花括号,没有 on
子句,对 table 别名的不当引用,错误位置的 where
子句。
也许你打算:
UPDATE e_element e1 INNER JOIN
e_element e2
ON e1.ENT_OID = e2.ENT_OID
SET e1.DVAL = e2.DVAL
WHERE e2.META_OID = 336810 AND
e1.META_OID = 359462 AND
e1.DVAL = '0001-01-01 00:00:00';
试试这个查询
UPDATE e_element e1
INNER JOIN e_element e2
ON e1.ENT_OID = e2.ENT_OID
SET e1.DVAL = e2.DVAL
WHERE e2.META_OID = 336810
AND e1.META_OID = 359462
AND e1.DVAL = '0001-01-01 00:00:00';
希望这对您有所帮助。
MySQL 中的以下查询:
UPDATE e_element e1
INNER JOIN
(
SELECT DVAL
FROM e1
INNER JOIN e_element e2
ON e1.ENT_OID = e2.ENT_OID
WHERE
e2.META_OID = 336810 AND
e1.META_OID = 359462 AND
e1.DVAL = '0001-01-01 00:00:00'
)
SET e1.DVAL = e2.DVAL;
抛出以下错误:
Error Code: 1248
Every derived table must have its own alias
我用两个 select 语句尝试了几个不同的选项,但我永远无法实现我想要的结果,即在这些条件下将值从 e2 复制到 e1
您的查询有多个错误。 . .花括号,没有 on
子句,对 table 别名的不当引用,错误位置的 where
子句。
也许你打算:
UPDATE e_element e1 INNER JOIN
e_element e2
ON e1.ENT_OID = e2.ENT_OID
SET e1.DVAL = e2.DVAL
WHERE e2.META_OID = 336810 AND
e1.META_OID = 359462 AND
e1.DVAL = '0001-01-01 00:00:00';
试试这个查询
UPDATE e_element e1
INNER JOIN e_element e2
ON e1.ENT_OID = e2.ENT_OID
SET e1.DVAL = e2.DVAL
WHERE e2.META_OID = 336810
AND e1.META_OID = 359462
AND e1.DVAL = '0001-01-01 00:00:00';
希望这对您有所帮助。