如何让mysql从前一行值开始自动递增
Posted
技术标签:
【中文标题】如何让mysql从前一行值开始自动递增【英文标题】:How to get mysql to auto increment starting from the previous row value 【发布时间】:2012-10-16 06:13:31 【问题描述】:提前感谢您对此提供的帮助。
这是我的问题:
表 A 有我删除的垃圾邮件帐户。这些行就像: 1、2556、2559、2565、2595等
我正在尝试将表 A 导入同一数据库中的空表 B。 表有不同的字段。
表 B 拒绝导入,因为插入设置为自动递增。 mysql表B似乎不想跳过行。
我去了表 A 并将行更新为:
1, 2, 3,4,5..., 18
现在,当我尝试使用 PyphAdmin 在表 A 中创建用户时,user_id 值为 NULL, 我得到的 id 是 2596。Mysql 仍然记得旧的递增序列。 如何让 Mysql 表根据前一行自动递增,以便新的 id 会是 19 吗?
mysql 导入文件在 phpshield 中加密,所以我看不到是什么 继续,无法编辑它。但我认为这是在我排除了所有其他可能性之后发生的事情。
【问题讨论】:
【参考方案1】:-
该字段必须是主键 -
PRIMARY KEY (id)
该字段必须为 AUTO_INCREMENT
重置表的自动增量值。
例如-
CREATE TABLE table1(
id INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
);
设置新的自动增量值 -
ALTER TABLE table1 AUTO_INCREMENT = 19
;
【讨论】:
感谢大家!做到了。【参考方案2】:试试这个
ALTER TABLE A AUTO_INCREMENT=19;
【讨论】:
【参考方案3】:更改表
TableA
AUTO_INCREMENT=19;
【讨论】:
以上是关于如何让mysql从前一行值开始自动递增的主要内容,如果未能解决你的问题,请参考以下文章