C#Mysql不更新

时间:2016-04-30 09:15:55

标签: 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,如果用户ID为1,则可以看到

非常感谢你。

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

2 个答案:

答案 0 :(得分:3)

我怀疑问题是DEFAULT是保留字。理想情况下,更改架构以避免将保留字用作字段名称。或者,引用名称:

UPDATE user_inventory SET `Default`=0 WHERE `Default`=1 AND UserID=@oid

答案 1 :(得分:1)

您还可以尝试将保留的SQL关键字放在块括号中,如下所示

UPDATE user_inventory SET [Default]=0 WHERE [Default]=1 AND UserID=@oid