2011-04-17 68 views
0

我與follwoing字段一個MySQL表更新MySQL表:在上述順序我運行follwoing誤差與濾波器

update match1 set weight = 5 where desc = 'fat' and id != '6'; 

follwoing

id, desc, value, people, amount, weight 

是錯誤消息我得到:

**#1064 - You have an error in your SQL syntax; check the manual that** 
corresponds to your MySQL server version for the right syntax 
to use near 'desc = 'bat' and id = 6' at line 1 

有人可以請讓我知道這是怎麼回事?

+0

確定你運行相同的查詢,錯誤是'desc ='bat'和id = 6',代碼中是desc ='fat'和id!='6' ? – 2011-04-17 08:14:28

回答

1

desc是mysql中的關鍵字。使用反引號,即

where `desc` = 'fat' 
+0

以及我有一個疑問:1.當我跑更新match1設置重量= 5其中id = 4;它甚至沒有提供任何錯誤,即使id是關鍵字。 – whatf 2011-04-17 08:01:57

+0

我必須同意Andrian - 在這種特殊情況下,'DESC'確實會引發問題,因爲它是MySQL中的一個關鍵字......無論如何,在查詢語句中反向引用列是很好的做法,這會讓您的語句更加乾淨,並且讓您的機會更少的錯誤。 – Laimoncijus 2011-04-17 08:13:04

+0

id不是關鍵字! – 2011-04-17 08:14:37