2015-04-17 124 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