为什么这个INSERT INTO语句不起作用?

时间:2013-07-23 20:40:51

标签: mysql

这是一个非常基本的问题,所以道歉。

我有一个简单的SQL(MySQL5)表,我试图命令行插入数据。但它不断出现错误,我不明白为什么。

这是我的控制台输出:

mysql> SHOW COLUMNS from queries;

+-------+-----------+------+-----+-------------------+-----------------------------+

| Field | Type      | Null | Key | Default           | Extra                       |

+-------+-----------+------+-----+-------------------+-----------------------------+

| id    | int(11)   | NO   | PRI | NULL              | auto_increment              |

| query | varchar(100) | NO   |     | NULL              |                             |

| date  | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |

| match | int(11)   | YES  |     | NULL              |                             |

+-------+-----------+------+-----+-------------------+-----------------------------+

4 rows in set (0.00 sec)

mysql> INSERT INTO queries (query, match) VALUES ('cheese', 4);

ERROR 1064 (42000): 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 'match) VALUES ('cheese', 4)' at line 1

mysql> 

发生了什么?为什么我的INSERT INTO命令不起作用?

3 个答案:

答案 0 :(得分:7)

match是一个保留的MySQL字。

试试这个(使用反引号):

INSERT INTO queries (`query`, `match`) VALUES ('cheese', 4);

答案 1 :(得分:3)

match is a keyword in MySQL。你必须逃避它(无论如何这是一个好主意):

INSERT INTO queries (`query`, `match`) VALUES ('cheese', 4);

答案 2 :(得分:0)

你需要在比赛中有后退。 match是MySQL中的关键字

 INSERT INTO queries (`query`, `match`) VALUES ('cheese', 4);

参考:http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html