mysql插入自动增量和日期

时间:2014-01-23 01:31:58

标签: mysql

mytable
+-----------+----------+------+-----+---------+----------------+
| Field     | Type     | Null | Key | Default | Extra          |
+-----------+----------+------+-----+---------+----------------+
| id        | int(255) | NO   | PRI | NULL    | auto_increment |
| date      | date     | NO   |     | NULL    |                |
| answer_id | int(255) | NO   | MUL | NULL    |                |
| count     | int(255) | YES  |     | NULL    |                |
+-----------+----------+------+-----+---------+----------------+

SQL:

INSERT INTO mytable ('date', 'answer_id', 'count')
VALUES ('2013-12-05', '4', '1'); 

给了我ERROR 1064

3 个答案:

答案 0 :(得分:6)

列不应用单引号括起来。单引号用于分隔字符串文字。

在您的情况下,您只需省略所有列的任何引号。

如果列名与mysql keyword匹配,则需要在任意一侧使用反引号`进行包装。

答案 1 :(得分:3)

错误1064是语法错误,在这种情况下,您的列名不应该在引号中(但它们可以在反引号中),并且您的整数值也不应该在引号中。

您的陈述应如下所示:

INSERT INTO mytable ( `date`      , `answer_id`, `count` )
VALUES              ( '2013-12-05',          4 ,      1  ); 

答案 2 :(得分:1)

ERROR 1064代表语法错误。

你的专栏名称应该用两侧的反引号包装 因此,将SQL查询更改为:

INSERT INTO mytable ( `date`      , `answer_id`, `count` )
VALUES              ( '2013-12-05',          4 ,      1  );