我从一个phpmyadmin db导出sql,并在另一个phpmyadmin db导入sql。
create语句如下
CREATE TABLE IF NOT EXISTS `h_stats` (
`Id` int(11) DEFAULT NULL,
`Category` varchar(50) DEFAULT NULL,
`Success` int(11) DEFAULT NULL,
`OutcomeFailure` int(11) DEFAULT NULL,
`ThCount` int(11) DEFAULT NULL,
`OCount` int(11) DEFAULT NULL,
`HDate` varchar(50) DEFAULT '0',
`Count` int(11) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert sql文件也是我导出的,如下所示
INSERT INTO `h_stats` (`Id`, `Category`, `Success`, `Failure`, `ThCount`, `OCount`, `HDate`, `Count`) VALUES
(13, 'Hits', 31303, 8828, 8893, 30372, '2015-04-07', 40151),
注:
当我尝试在id NULL
值的位置插入新行时,就会出现。有人能建议我在create语句中更改什么吗?
发布于 2015-04-10 10:06:24
您需要将id定义为主键和自动增量。
CREATE TABLE IF NOT EXISTS `h_stats` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Category` varchar(50) DEFAULT NULL,
`Success` int(11) DEFAULT NULL,
`OutcomeFailure` int(11) DEFAULT NULL,
`ThCount` int(11) DEFAULT NULL,
`OCount` int(11) DEFAULT NULL,
`HDate` varchar(50) DEFAULT '0',
`Count` int(11) DEFAULT '0',
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
因此,当为id添加null时,自动增量将进入播放,并将其设置为insert中的下一个值。
请注意,这将强制您具有id的唯一值,因此,在执行insert that id
到insert语句时。某物
insert into h_stats (`Category`,`Success` ...) values ( ....);
https://stackoverflow.com/questions/29558630
复制相似问题