2012-01-26 48 views
0

我一直在嘗試更新MySQL數據庫中的字段,但出現錯誤。無法更新MySQL數據庫中的字段

這是我的查詢

UPDATE tbl SET fl1="val",fl2="val", fl3="val" WHERE fl0="val val" 

這是當我試圖執行查詢

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 'val WHEREfl0="val val"' at line 1 

我已刪除從查詢的信息,並與虛擬文本替換它,我接收到錯誤。

+0

WHEREfl0肯定是錯的(應該是WHERE fl0),你確定這是你給的錯誤嗎? – sathia

+0

檢查原始查詢中WHERE和f10之間是否有空格。 ''val WHEREfl0 =「val val」'' – SeanNieuwoudt

+0

是的!他們之間有一個[空間]! – sikas

回答

1

發現:d ...我有被執行,這多個查詢使用PHP完成...問題是在中間的查詢是這樣的:

UPDATE tbl SET fl1='val',fl2='val', fl3=''val WHERE fl0='val val' 

謝謝大家爲您的支持。

0

這個怎麼樣?

UPDATE `tbl` 
    SET `fl1` = 'val', 
     `fl2` = 'val', 
     `fl3` = 'val' 
WHERE `fl0` = 'val val' 

1.)我已將雙引號改爲撇號。

2.)我添加了backtick以防萬一您的某列包含reserved word

1

考慮看看錯誤,我看到兩個問題

val WHEREfl0="val val" 
  • 首先,WHEREfl0也許應該是WHERE fl0

  • 其次在這裏,我想你缺少"問題val WHERE[..]那裏。

val" WHERE fl0="val val"

我猜你固定的查詢,同時增加虛擬文本,因爲此查詢是正確的:

UPDATE tbl SET fl1="val",fl2="val", fl3="val" WHERE fl0="val val" 
1

嘗試使用單引號,不是一倍。 ( '')

UPDATE tbl SET fl1='val',fl2=val', fl3='val' WHERE fl0='val val'

您也應該使用 「`」 在你的語法:

UPDATE `tbl` SET `fl1`='val',`fl2`=val', `fl3`='val' WHERE `fl0`='val val'