在SQL中使用SET插入



这是我的第一篇文章,请耐心等待。

我需要从备份中恢复DB表。我已经清理了SQL,所以我只有DROP TABLE, CREATE TABLE和INSERT INTO命令。当我在服务器上运行MYSQl时,查询失败。

错误信息是....

MySQL说:Documentation

#1064 - 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 'id='2', 
unitid='1', 
optionname='Baby Chair', 
customtype='0', 
customfeild' at line 3 

查询为.....


DROP TABLE IF EXISTS `jos_resman_options`;
CREATE TABLE `jos_resman_options` 
(
`id` int(4) NOT NULL AUTO_INCREMENT,
`unitid` int(9) NOT NULL DEFAULT '0',
`optionname` varchar(255) NOT NULL DEFAULT '',
`customtype` tinyint(1) NOT NULL DEFAULT '0',
`customfeild` varchar(150) NOT NULL DEFAULT '',
`moreinformation` varchar(255) NOT NULL DEFAULT '',
`totaloptions` tinyint(1) NOT NULL DEFAULT '0',
`price` decimal(10,2) NOT NULL DEFAULT '0.00',
`minvalue` int(2) NOT NULL DEFAULT '0',
`maxvalue` int(2) NOT NULL DEFAULT '0',
`formobject` int(1) NOT NULL DEFAULT '0',
`enabled` tinyint(1) NOT NULL DEFAULT '0',
`priceoption` int(1) NOT NULL DEFAULT '0',
`taxfree` tinyint(1) NOT NULL DEFAULT '0',
`compulsory` tinyint(1) NOT NULL DEFAULT '0',
`istax` tinyint(1) NOT NULL DEFAULT '0',
`isinsure` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=75;
INSERT INTO `jos_resman_options` 
VALUES 
id='2', 
unitid='1', 
optionname='Baby Chair', 
customtype='0', 
customfeild='', 
moreinformation='Baby Chair', 
totaloptions='0', 
price='0.00', 
minvalue='1', 
maxvalue='2', 
formobject='1', 
enabled='1', 
priceoption='2', 
taxfree='1', 
compulsory='0', 
istax='0', 
isinsure='0';

表被创建,当CREATE table部分自己运行时,没有错误消息。我只在运行查询的INSERT INTO部分时看到错误消息。INSERT INTO数据直接来自数据库的备份,所以数据应该是正确的。

Many Thanks for any input

我试过了所有的建议…将Auto INCREMENT更改为DEFAULT字段,将其放入括号中,所有这些都失败并显示错误消息。这是最新的错误信息…再次感谢大家!
Error
SQL query:
INSERT INTO  `jos_resman_options` 
SET unitid =  '1',
optionname =  'Baby Chair',
customtype =  '0',
customfeild =  '',
moreinformation =  'Baby Chair',
totaloptions =  '0',
price =  '0.00',
minvalue =  '1',
maxvalue =  '2',
formobject =  '1',
enabled =  '1',
priceoption =  '2',
taxfree =  '1',
compulsory =  '0',
istax =  '0',
isinsure =  '0'
MySQL said: Documentation
#1064 - 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 'maxvalue='2',
formobject='1', 
enabled='1', 
priceoption='2', 
taxfree='1',' at line 12 
INSERT INTO `jos_resman_options` 
VALUES (
id='2', 
unitid='1', 
optionname='Baby Chair', 
customtype='0', 
customfeild='', 
moreinformation='Baby Chair', 
totaloptions='0', 
price='0.00', 
minvalue='1', 
maxvalue='2', 
formobject='1', 
enabled='1', 
priceoption='2', 
taxfree='1', 
compulsory='0', 
istax='0', 
isinsure='0');

尝试删除id字段,因为id被定义为自动编号。所以你不能插入值,因为它处理数据库引擎,如果你删除栏会告诉你不同数量的列插入,然后尝试输入id = DEFAULT或省略id字段

最新更新