2012-07-10 84 views
0

这真是超级怪异,也许有人知道答案,Mysql必须格式化才能进入?

我有这样

mysql> describe sweeps; 
+----------------+------------------+------+-----+---------------------+-----------------------------+ 
| Field   | Type    | Null | Key | Default    | Extra      | 
+----------------+------------------+------+-----+---------------------+-----------------------------+ 
| entity_id  | int(20) unsigned | NO | PRI | NULL    | auto_increment    | 
| fb_id   | varchar(120)  | YES |  | NULL    |        | 
| title   | varchar(5)  | YES |  | NULL    |        | 
| first_name  | varchar(30)  | YES |  | NULL    |        | 
| last_name  | varchar(30)  | YES |  | NULL    |        | 
| birthday_month | int(2) unsigned | YES |  | NULL    |        | 
| birthday_day | int(2) unsigned | YES |  | NULL    |        | 
| birthday_year | int(4) unsigned | YES |  | NULL    |        | 
| created_at  | datetime   | YES |  | 0000-00-00 00:00:00 |        | 
| last_submit | timestamp  | NO |  | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | 
+----------------+------------------+------+-----+---------------------+-----------------------------+ 

表将不接受INSERT如果我只是把它在一个单一的线,像这样

mysql> `sweeps` (entity_id,fb_id,title,first_name,last_name,birthday_month,birthday_day,birthday_year,created_at) VALUES (1,'fooID1','mr','John','Doe',1,1,1999,NOW()); 
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 '`sweeps` (entity_id,fb_id,title,first_name,last_name,birthday_month,birthday_day' at line 1 

但奇怪的是,如果我的空间出来这样的,它接受它没有错误?为什么是这样?

mysql> INSERT INTO `sweeps` (
    -> entity_id, 
    -> fb_id, 
    -> title, 
    -> first_name, 
    -> last_name, 
    -> birthday_month, 
    -> birthday_day, 
    -> birthday_year, 
    -> created_at 
    ->) VALUES (
    -> 1, 
    -> 'fooID1', 
    -> 'mr', 
    -> 'John', 
    -> 'Doe', 
    -> 1, 
    -> 1, 
    -> 1999, 
    -> NOW() 
    ->); 
Query OK, 1 row affected (0.41 sec) 

mysql> SELECT * FROM sweeps; 
+-----------+--------+-------+------------+-----------+----------------+--------------+---------------+---------------------+---------------------+ 
| entity_id | fb_id | title | first_name | last_name | birthday_month | birthday_day | birthday_year | created_at   | last_submit   | 
+-----------+--------+-------+------------+-----------+----------------+--------------+---------------+---------------------+---------------------+ 
|   1 | fooID1 | mr | John  | Doe  |    1 |   1 |   1999 | 2012-07-10 10:16:58 | 2012-07-10 10:16:58 | 
+-----------+--------+-------+------------+-----------+----------------+--------------+---------------+---------------------+---------------------+ 
1 row in set (0.04 sec) 
+4

没有忘记在mysql命令行插入语句?这是一个tipo吗? – Sebas 2012-07-10 17:22:50

+0

为什么你显式地将值插入到pk字段中,而它具有自动增加集? – 2012-07-10 17:28:10

+0

这只是设置虚拟值,当我创建一个数据库表 – ehime 2012-07-10 17:52:55

回答

5

它不插入,因为你缺少你的命令INSERT INTO

mysql> `sweeps` (entity_id,fb_id,title,first_name,last_name,... 

应该

mysql> INSERT INTO `sweeps` (entity_id,fb_id,title,first_name,last_name,... 
+0

哇...我完全错过了.... – ehime 2012-07-10 17:26:44

0

你有一个 “插入”

失踪从你的例子:

mysql> `sweeps` (entity_id, 
相关问题