2016-04-30 164 views
1

的錯誤:C#MySQL不更新

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 'Default=0 WHERE Default=1 AND UserID=3' at line 1 

出於某種原因,它不工作我真的沒有看到一個錯誤與此代碼。

我試圖更新數據庫設置默認的0,如果其1由用戶標識,你可以看到

非常感謝你。

try 
{ 
    using (
     MySqlCommand cmd = 
      new MySqlCommand("UPDATE user_inventory SET Default=0 WHERE Default=1 AND [email protected]", 
       MysqlHandler.DbConnection)) 
    { 
      cmd.Parameters.AddWithValue("@oid", user.UserId); 
      cmd.Prepare(); 
      cmd.ExecuteNonQuery(); 
    } 
} 
catch (Exception e) 
{ 
    Console.WriteLine(e.ToString()); 
} 
+0

看起來好爲止。我猜它是一個打字錯誤!?你可以執行'DESCRIBE user_inventory'併發布輸出嗎? – C4u

+0

我沒有看到字段和東西的任何打字錯誤。 – Punxor

回答

3

我懷疑問題是DEFAULT是一個保留字。理想情況下,更改模式以避免使用保留字作爲字段名稱。另外,引用名稱:

UPDATE user_inventory SET `Default`=0 WHERE `Default`=1 AND [email protected] 
1

您也可以嘗試把保留的SQL關鍵字塊括號按以下

UPDATE user_inventory SET [Default]=0 WHERE [Default]=1 AND [email protected]