繁体   English   中英

MySQL更新从不起作用-语法错误1064

[英]MySQL update from not working - syntax error 1064

我有一个表,其中包含一个oldid和一个oldparid。 我想更新其中row.oldpar = otherrow.oldid的行,但是我的查询有问题。

UPDATE 01_menu_main SET parid = x.newpar
FROM (SELECT oldid, id as newpar FROM 01_menu_main) x
WHERE x.oldid = 01_menu_main.oldpar

我收到的错误是这样的

在此处输入图片说明

有什么我想念的吗? 谢谢!

您有语法错误。 查询应该是

UPDATE table SET key=value WHERE condition

根据上述语法更改查询,然后通知我。

更新

UPDATE 
    01_menu_main t1
      JOIN
    01_menu_main t2 
      ON 
    t2.oldid = t1.oldpar 
SET
    t1.parid = t2.newpar

检查上面的代码工程吗? 您必须使用JOIN进行尝试。

使用联接

update 
    01_menu_main t1
    join 01_menu_main t2 on t2.oldid = t1.oldpar
set
    t1.parid = t2.newpar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM