更新行的mysql语法错误

时间:2018-04-05 07:04:30

标签: mysql database

update amazon-crawler set `flag_images`= '0' where `id`='966'

我得到#1064 - 你的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在' -crawler set flag_images =' 0'附近使用正确的语法。其中id =' 966''在第1行 为什么语法错误? 亚马逊爬虫是表 标志图像和id是列

1 个答案:

答案 0 :(得分:2)

我的猜测是表名中的连字符引起问题,因为它是算术运算符。尝试转义表名:

UPDATE `amazon-crawler` SET `flag_images`= '0' WHERE `id` = '966';

请注意,除非绝对需要,否则应尽量避免在查询中使用反引号。使用反引号意味着任何名称都可能起作用,即使是恰好是MySQL保留关键字的名称也是如此。另外,我猜测flag_imagesid是数字列,在这种情况下,您应该将它们与数字进行比较,而不是字符串。所以我会把你的更新写成:

UPDATE `amazon-crawler` SET flag_images= 0 WHERE id = 966;

此处,只有表名必须出现在反引号中。