我正在尝试使用我的MySQL数据库UPDATE.我使用以下SQL代码:
$sql = "UPDATE ToDo
SET Checked = -1
WHERE Index = 1";
Run Code Online (Sandbox Code Playgroud)
当我使用此代码时,我收到以下错误消息:"您的SQL语法中有错误;请检查与您的MySQL服务器版本对应的手册,以便在第3行的'Index = 1'附近使用正确的语法"
但是当我使用时
$sql = "UPDATE ToDo
SET Checked = -1
WHERE Text = 'asdf'";
Run Code Online (Sandbox Code Playgroud)
一切正常.
我的数据库有一个名为"ToDo"的表,有3个列:索引(int,主键,auto_increment),Checked(bool)和Text(文本).
难道你不能"在哪里"主键或者我忘记了别的什么?
希望您能够帮助我.
尝试添加反引号:
UPDATE ToDo
SET `Checked` = -1
WHERE `Index` = 1";
Run Code Online (Sandbox Code Playgroud)
索引是保留字:
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
index是MySQL 的保留字.您需要通过添加这样的反引号来解析名称:
$sql = "UPDATE ToDo
SET Checked = -1
WHERE `Index` = 'asdf'";
Run Code Online (Sandbox Code Playgroud)