2012-05-13 23 views
0

我有一個表單將更新sql片段發送到我的數據庫。如何使用主鍵更新數據庫

數據庫由1個表組成,其中有6列。它們是:key,download,link,version,name,fs_version

我已經將關鍵設置作爲主要條目,我的表單更新除關鍵字段和名稱字段以外的所有字段。它不能更新名稱字段,因爲它沒有這些信息。

生成的代碼,SQL塊構成形式如下:

UPDATE `mytable` SET `version`=2, `link`=44, `fs_version`=55, 
`download`=66, WHERE `key` = 1; 

但我總是得到錯誤

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 'WHERE `key` = 1' at line 1 

這是什麼我可以做些什麼來解決這個問題?

回答

3

這是一個額外的逗號,在WHERE之前,你不需要它。所以只要去掉,一切都會好起來的

UPDATE `mytable` 
    SET `version`=2, `link`=44, `fs_version`=55, `download`=66, WHERE `key` = 1 
                  ^----- 
+0

@Ken布魯姆:我不同意加入反引號使任何意義的非保留名稱 – zerkms

+0

我加入他們,因爲他們在原來的問題。 (你沒有看到他們,因爲他沒有縮進代碼以獲得分組代碼格式,所以他們被解釋爲內聯代碼格式。)我將它們添加到您的答案中,以消除他的問題和您的答案之間的語法差異,之後我修復了他的代碼格式。 –

+0

您可以自行決定,但如果您將反引號添加到答案中,現在您可以看到他們在問題中,我真的很喜歡它。 –