MySQL中如何设置初始值和自增?

2023年 9月 7日 68.0k 0

MySQL中如何设置初始值和自增?

AUTO_INCRMENT 属性用于为新行生成唯一标识。如果列被声明为“NOT NULL”,则可以将 NULL 分配给该列以生成数字序列。

当将任何值插入到 AUTO_INCREMENT 列中时,该列将被设置为该列值,并且序列也会被重置,以便它在最大列值的顺序范围内自动生成值。

可以更新现有的“AUTO_INCRMENT”列,这也会重置“AUTO_INCRMENT”序列。最新自动生成的‘AUTO_INCRMENT;可以使用 SQL 中的“LAST_INSERT_ID()”函数或使用 C API 函数“mysql_insert_id()”来检索值。

这些函数是特定于连接的,这意味着它们的返回值不是受执行插入操作的其他连接的影响。可以使用“AUTO_INCRMENT”列的最小整数数据类型,该数据类型足够大以容纳用户所需的最大序列值。

AUTO_INCREMENT 规则

使用 AUTO_INCRMENT 属性时需要遵循以下规则 -

  • 每个表只有一个 AUTO_INCRMENT 列,其数据类型为
    通常为整数。

  • AUTO_INCREMENT 列需要建立索引。这意味着它可以是
    PRIMARY KEY 或 UNIQUE 索引。

  • AUTO_INCRMENT 列必须具有 NOT NULL 约束。

  • 当 AUTO_INCREMENT 时属性设置为列,MySQL自动添加
    对列本身的 NOT NULL 约束。

如果 id 列尚未添加到表中,则可以使用以下语句 -

ALTER TABLE tableName ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id);

登录后复制

如果 id 列已经存在,则可以使用以下命令 -

ALTER TABLE tableName AUTO_INCREMENT=specificValue;

登录后复制

这里,tableName是指需要设置“AUTO_INCRMENT”列的表的名称。 “specificValue”是指用户指定“AUTO_INCRMENT”值开始的整数。

以上就是MySQL中如何设置初始值和自增?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

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

发布评论