错误:
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());
}
答案 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