2013-07-23 3 views
0

Это довольно простой вопрос, поэтому извиняйтесь.Почему это заявление INSERT INTO не работает?

У меня есть простая таблица 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 не работает?

ответ

7

match - это зарезервированное слово MySQL.

Попробуйте это вместо того, чтобы (используя кавычку):

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

match is a keyword in MySQL. Вы должны избежать этого (и это хорошая идея, чтобы сделать это так или иначе):

INSERT INTO queries (`query`, `match`) VALUES ('cheese', 4); 
Смежные вопросы