这个MySQL INSERT查询有什么问题

时间:2012-07-24 21:47:00

标签: mysql insert

我正在尝试将下面的数据插入到现有表中,并且它给出了我的sql错误1064,你在第3行的sql语法中有错误。

INSERT INTO `static_contract` (`ID`, `contractID`, `name`, `mobbaseID`, `classID`, `dialogID`, `menuoptions`, `iconID`, `notes`, `vendorID`, `pTable`, `sTable`, `itemModTable`, `allowedBuildingTypeID`)
VALUES
(2026, 2026, 'Premium Vendor', 15312, 1906, 600, '1 2 15 18', 68, 'vendor', 0, '0', '0', '', 0),

这是表格架构:

CREATE TABLE `static_contract` (
  `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `contractID` int(10) unsigned NOT NULL,
  `name` varchar(100) NOT NULL DEFAULT '',
  `mobbaseID` int(10) unsigned NOT NULL,
  `classID` int(10) unsigned NOT NULL,
  `dialogID` int(10) unsigned NOT NULL,
  `menuoptions` varchar(20) NOT NULL DEFAULT '',
  `iconID` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `notes` varchar(50) NOT NULL DEFAULT '',
  `vendorID` int(10) NOT NULL DEFAULT '0',
  `pTable` varchar(50) NOT NULL DEFAULT '0',
  `sTable` varchar(50) NOT NULL DEFAULT '0',
  `itemModTable` varchar(50) NOT NULL DEFAULT '',
  `allowedBuildingTypeID` int(10) NOT NULL DEFAULT '0',
  PRIMARY KEY (`ID`),
  KEY `fk_contracts_mobbase` (`mobbaseID`)
) ENGINE=InnoDB AUTO_INCREMENT=302900 DEFAULT CHARSET=latin1

2 个答案:

答案 0 :(得分:2)

最后括号外的逗号是问题所在。请选择一个答案,将此问题标记为完整。

答案 1 :(得分:2)

首先,我相信它会在你的陈述第3行的结尾处抱怨逗号。

其次,您要将值放入自动增量列 ID。

第三,如果你在每一列中插入一些内容,为什么要指定要插入的每一列?只是做:

INSERT INTO static_contract VALUES (...)