mySQL语法错误,但没有错误?

时间:2015-10-30 06:33:31

标签: mysql sql

它不断收到此SQL错误,但我非常确定查询中没有错误。我一直盯着它看太久了。还有其他可能导致这种情况的事吗?

INSERT INTO game_data (clue, image, answer, wrong, right) VALUES ('asdf',         'asdf', 'asdf', 'assdf', 'asdf')

Invalid Query: 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 'right) VALUES ('asdf', 'asdf', 'asdf', 'assdf', 'asdf')' at line 1

我已经使用这个确切的代码运行了其他查询,只是交换变量,并且它可以工作。

并且为了更好的衡量,有一个PHP生成这个:

$sql = "INSERT INTO game_data (clue, image, answer, wrong, right) VALUES
    ('" . $clue . "', '" . $image . "', '" . $answer . "', '" . $wrong . "', '" . $right . "')";

2 个答案:

答案 0 :(得分:11)

正确reserved keyword in MYSQL。你需要使用这样的反引号来逃避它:

INSERT INTO game_data (`clue`, `image`, `answer`, `wrong`, `right`) VALUES

注意:请尽量避免将列命名为保留关键字名称。

答案 1 :(得分:0)

名称“right”是MySQL保留的关键字。我不知道你怎么能创建'正确'专栏。