2015-04-17 151 views
1

这是我的查询:语法错误#1064

update `zen_meta_tags_products_description` 
set `metatags_keywords`= 'ice machine, ice maker, ice flaker, Brema,' 
WHERE `products_id` = ('1231'; '1232'; '1233'; '1234'; '1235'; '1236'; '1237'; '1238'; '1239'; '1240';) 

错误

MySQL表示:文件

1064 - 你在你的SQL语法错误;检查对应于你的MySQL服务器版本正确的语法使用近“1232,1233”在行1

回答

1

删除semicolom

的insted的=使用IN的写结果:

UPDATE `zen_meta_tags_products_description` 
set `metatags_keywords`= 'ice machine, ice maker, ice flaker, Brema,' 
WHERE `products_id` IN ('1231', '1232', '1233','1234', '1235', '1236', '1237', '1238', '1239', '1240') ; 
+1

感谢帮帮我 – parafanaylya

3

不能使用=比较多个值的手册。您需要使用IN()IN()中的值的分隔符是逗号,而不是分号。最后一个也不是必需的,会导致错误。除非实际上将它们存储为字符串,否则ID中的引号也不是必需的。从列表中

update zen_meta_tags_products_description 
set metatags_keywords= 'ice machine, ice maker, ice flaker, Brema,' 
WHERE products_id IN(1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240) 
+0

表需要这个引号为好,但它的工作:) – parafanaylya