如何防止在 Table 中重复使用已删除的主键值?
How to Prevent Reuse of Deleted Primary Key Values in Table?
我有一个 table,主键设置为自动递增。有时,记录会被删除。发生这种情况时,我不想重复使用已删除的 'recID' 值......但事情就是这样!
例如在下面phpMyAdmin导出的table定义中,table应该开始编号在 19 但它显示 13.
如何防止重复使用已删除的主键值?
CREATE TABLE scans (
recID` int(11) NOT NULL,
mac varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE scans
ADD PRIMARY KEY (recID);
ALTER TABLE scans
MODIFY recID int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;
唯一万无一失的解决方案是不删除行。或者至少不要删除具有最高 auto-increment 值的行。
我有一个 table,主键设置为自动递增。有时,记录会被删除。发生这种情况时,我不想重复使用已删除的 'recID' 值......但事情就是这样!
例如在下面phpMyAdmin导出的table定义中,table应该开始编号在 19 但它显示 13.
如何防止重复使用已删除的主键值?
CREATE TABLE scans (
recID` int(11) NOT NULL,
mac varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE scans
ADD PRIMARY KEY (recID);
ALTER TABLE scans
MODIFY recID int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;
唯一万无一失的解决方案是不删除行。或者至少不要删除具有最高 auto-increment 值的行。