Phpmyadmin中id字段的NULL条目

时间:2015-04-10 10:03:34

标签: php mysql phpmyadmin

我从一个phpmyadmin db导出了sql,并在另一个phpmyadmin db中导入了它。

create table语句如下

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;

插入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 table语句中更改什么。

1 个答案:

答案 0 :(得分:2)

您需要将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的唯一值,因此在插入时将id留给insert语句。

的东西
insert into h_stats (`Category`,`Success` ...) values ( ....);