























在Navicat中复制带有自动增长id字段的表格,如何把新表格的自动增长id重新设置为从1开始

在 Navicat 中复制带自动增长 id 的表格后,重置新表自增 ID 从 1 开始,有图形界面操作与SQL 命令两种核心方式,按复制场景(仅结构 / 结构 + 数据)选择更高效的方法。
-- 场景1:仅重置自增ID(不清空数据)
ALTER TABLE 新表名 AUTO_INCREMENT = 1;
-- 场景2:清空数据并重置自增ID(等同于截断表)
TRUNCATE TABLE 新表名;
-- 场景3:若复制后数据不需要,可先删除数据再重置
DELETE FROM 新表名;
ALTER TABLE 新表名 AUTO_INCREMENT = 1;
| 复制场景 | 推荐操作 | 说明 |
|---|---|---|
| 仅复制结构 | 方法 1(设计表改选项) | 新表无数据,直接设自增起始为 1 即可 |
| 复制结构 + 数据但新表需重新编号 | 方法 2(TRUNCATE 后重新插入) | 先清空数据重置 ID,再按需插入数据 |
| 复制结构 + 数据且保留原数据但新数据从 1 开始 | 方法 2(ALTER TABLE 语句) | 仅修改自增计数器,不影响现有数据 |
-- 查找序列名
SELECT pg_get_serial_sequence('表名', 'id列名');
-- 重置序列
ALTER SEQUENCE 序列名 RESTART WITH 1;
-- 重置IDENTITY列
ALTER TABLE 表名 MODIFY id GENERATED AS IDENTITY (START WITH 1);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。