更新行的mysql语法错误
我得到#1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near'-crawler set更新行的mysql语法错误,mysql,database,Mysql,Database,我得到#1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near'-crawler setflag_images='0',其中id='966''在第1行的正确语法 为什么语法错误? 亚马逊爬虫就是这个表 标记图像和id是列我猜表名中的连字符会导致问题,因为它是一个算术运算符。还请尝试转义表名: update amazon-crawler set `flag_images`= '0' where `id`='966' 请注意,除非绝对需要,否则应尽量避免在查询
flag_images
='0',其中id
='966''在第1行的正确语法
为什么语法错误?
亚马逊爬虫就是这个表
标记图像和id是列我猜表名中的连字符会导致问题,因为它是一个算术运算符。还请尝试转义表名:
update amazon-crawler set `flag_images`= '0' where `id`='966'
请注意,除非绝对需要,否则应尽量避免在查询中使用反勾号。使用backticks意味着任何名称都可能起作用,即使是一个恰好是MySQL保留关键字的名称。另外,我猜flag\u图像
和id
是数字列,在这种情况下,您应该将它们与数字而不是字符串进行比较。因此,我会将您的更新写为:
UPDATE `amazon-crawler` SET `flag_images`= '0' WHERE `id` = '966';
在这里,只有表名必须出现在反勾号中。您可以添加列类型吗?切勿将“-”用作表/列标识符的一部分。这可能是灾难性的。
UPDATE `amazon-crawler` SET flag_images= 0 WHERE id = 966;