下面的sql update查询有什么问题?

时间:2016-09-28 22:00:53

标签: sql mariadb

我正在尝试运行以下查询

update IGNORE cs 
    set Value = '20934820843'
from admin.ConfigSupplemental as cs,      
    admin.Config as cc
where cs.ConsoleConfigID = cc.ID 
     and cs.Name = 'GetTime' and cc.Ctid = 200

我收到以下异常:

  

查看与您的MariaDB服务器版本对应的手册   在ConfigSupplemental附近使用的正确语法为cs

我也尝试了以下,但我得到了同样的错误。

update IGNORE cs
   set cs.Value = '2039482094380'
from admin.ConfigSupplemental cs
   join admin.Config cc on 
   cc.ID = cs.ConsoleConfigID
where cs.Name = "GetTime"
   and cc.Ctid = 200

2 个答案:

答案 0 :(得分:1)

在忽略和(从)表名称错误位置后,您有一个cs别名 并且从更新中不存在。

可能就是这样

 update IGNORE 
 admin.ConfigSupplemental as cs        
 inner join admin.Config as cc on ( cs.ConsoleConfigID = cc.ID  and cs.Name = 'GetTime' and cc.Ctid = 200)
 set Value = '20934820843'
 ;

答案 1 :(得分:1)

以下是MySQL和MariaDB的正确语法:

update admin.ConfigSupplemental cs join
       admin.Config cc
       on cs.ConsoleConfigID = cc.ID 
    set Value = '20934820843'
where cs.Name = 'GetTime' and cc.Ctid = 200;

如果您真的想要,可以添加ignore