有谁知道这个查询有什么问题:
INSERT INTO match
(IDTeamHome, IDTeamGuest, Date)
VALUES
('15','16','20.03.2011 15:00')
IDTeamHome和IDTeamGuest是整数,Date是varchar。
答案 0 :(得分:4)
编辑:有几个问题。
“匹配”和“日期”are keywords in MySQL。你需要双引号或反引号,以便MySQL知道它们是表名或列名,例如
INSERT INTO "match" (id1, id2, "date") VALUES ...
删除您插入的整数值周围的单引号 单引号用于字符串。 (OMG Ponies在评论中指出的并非严格必要)
如果可以避免,请不要将时间戳存储为VARCHAR。这将使查询变得更加困难,并使与您的桌子一起工作的任何其他人感到困惑。
答案 1 :(得分:0)
尝试使用`Date`或重命名此字段,因为Date是我认为的MySQL使用的单词。
删除整数的单引号。
答案 2 :(得分:0)
匹配是一个保留字。
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
重命名你的桌子或将其放在反引号(alt + 96)
中我刚刚见过它。 :)
答案 3 :(得分:0)
团队的ID是Int,所以你不能使用单引号,因为那是引用。对于String值,如Alphabets,请使用以下格式:
insert into match(int,varchar(20),data)
Values(12,'teamname','2015-11-4');