mysql让表的主键从零

2023年 8月 6日 90.8k 0

在MySQL中,表的主键是一种非常重要的概念。它定义表中每一行记录的唯一性,使得可以方便地根据主键进行查询、更新或删除操作。在创建表时,MySQL默认会自动创建一个名为“id”的主键,其类型为整数,从1开始自动递增。

mysql让表的主键从零

然而,在有些情况下,我们有需求让主键从零开始。这时,我们可以通过以下步骤实现:

1. 创建表时不指定主键:
CREATE TABLE `my_table` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
`age` INT UNSIGNED NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
2. 插入一条记录,手动将id设为0:
INSERT INTO `my_table` (`id`,`name`,`age`) VALUES (0,'Tom',18);
3. 修改表的定义,将id列的自增起始值设为0,并将该列的插入方式设为手动插入:
ALTER TABLE `my_table` MODIFY COLUMN `id` INT UNSIGNED NOT NULL DEFAULT '0' COMMENT '主键' FIRST,
ADD PRIMARY KEY (`id`),
CHANGE COLUMN `id` `id` INT UNSIGNED NOT NULL COMMENT '主键' AUTO_INCREMENT=0 AFTER `name`;
4. 插入新纪录,手动插入主键:
INSERT INTO `my_table` (`id`,`name`,`age`) VALUES (1,'Lucy',20);

通过以上的操作,我们就实现了让表的主键从零开始。需要注意的是,修改主键需要先删除原来的主键,再添加新的主键,否则会报错。此外,如果要修改主键的自增起始值,需要将该列的插入方式设为手动插入。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论