Phpmyadmin 中 id 字段的 NULL 条目
NULL entry at id field in Phpmyadmin
我从一个 phpmyadmin 数据库中导出了 sql,并在另一个 phpmyadmin 数据库中导入了相同的内容。
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 语句中更改什么。
需要将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 时,自动增量将发挥作用并将其设置为插入中的下一个值。
请注意,这将强制您为 id 设置唯一值,因此在执行插入时将 id
保留到插入语句中。东西如
insert into h_stats (`Category`,`Success` ...) values ( ....);
我从一个 phpmyadmin 数据库中导出了 sql,并在另一个 phpmyadmin 数据库中导入了相同的内容。
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 语句中更改什么。
需要将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 时,自动增量将发挥作用并将其设置为插入中的下一个值。
请注意,这将强制您为 id 设置唯一值,因此在执行插入时将 id
保留到插入语句中。东西如
insert into h_stats (`Category`,`Success` ...) values ( ....);