首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么会导致合法的MySql INSERT INTO命令失败?

什么会导致合法的MySql INSERT INTO命令失败?
EN

Stack Overflow用户
提问于 2010-04-18 23:24:42
回答 3查看 708关注 0票数 1

我找不出是什么原因导致我的INSERT INTO在MySql中的某些表中失败。我可以把它们管理到其他桌子上。该表如下所示:

代码语言:javascript
复制
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 ;

命令是

代码语言:javascript
复制
INSERT INTO Match (`match_no`, `season`, `hometeam`, `awaytem`) VALUES (1, 1, 2, 3)

我得到的只是:

1064 -您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解在第1行使用接近'Match (match_noseasonhometeamawaytem) VALUES (1,1,2,3)‘的正确语法

我已经检查了手册和六个来自网络的例子,并尝试了各种语法更改,以防有一些MySql特有的奇怪之处,但似乎什么都不起作用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-18 23:26:33

awaytem改为awayteam,看看结果如何,并使用Match作为表:match是一个保留字。

票数 5
EN

Stack Overflow用户

发布于 2010-04-18 23:26:21

MatchMySQL中的reserved单词。

下面是MySQL保留字的list

将匹配项括在反勾号中,如下所示:

代码语言:javascript
复制
INSERT INTO `Match` .........

另外,正如Pax指出的那样,您拼写错误了一个列名。

票数 4
EN

Stack Overflow用户

发布于 2010-04-18 23:28:22

匹配是一个颠倒的词

所以,

代码语言:javascript
复制
INSERT INTO `Match`

请注意您用于字段名的相同反引号

这些不是用来装饰的

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2662720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档