我找不出是什么原因导致我的INSERT INTO在MySql中的某些表中失败。我可以把它们管理到其他桌子上。该表如下所示:
CREATE TABLE IF NOT EXISTS `Match` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`match_no` int(11) NOT NULL,
`season` int(11) NOT NULL,
`hometeam` int(11) NOT NULL,
`awayteam` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `match_no` (`match_no`),
KEY `season` (`season`),
KEY `hometeam` (`hometeam`),
KEY `awayteam` (`awayteam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;命令是
INSERT INTO Match (`match_no`, `season`, `hometeam`, `awaytem`) VALUES (1, 1, 2, 3)我得到的只是:
1064 -您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解在第1行使用接近'Match (match_no,season,hometeam,awaytem) VALUES (1,1,2,3)‘的正确语法
我已经检查了手册和六个来自网络的例子,并尝试了各种语法更改,以防有一些MySql特有的奇怪之处,但似乎什么都不起作用。
发布于 2010-04-18 23:26:33
将awaytem改为awayteam,看看结果如何,并使用Match作为表:match是一个保留字。
发布于 2010-04-18 23:26:21
Match是MySQL中的reserved单词。
下面是MySQL保留字的list
将匹配项括在反勾号中,如下所示:
INSERT INTO `Match` .........另外,正如Pax指出的那样,您拼写错误了一个列名。
发布于 2010-04-18 23:28:22
匹配是一个颠倒的词
所以,
INSERT INTO `Match`请注意您用于字段名的相同反引号
这些不是用来装饰的
https://stackoverflow.com/questions/2662720
复制相似问题