排障手册 - 电脑故障排查与系统优化实用指南

当前位置:首页 > 数码 > 正文内容

MySQL-自增主键的连续自增特性 (mysql-u-p)

admin3年前 (2024-04-20)数码381

MySQL 中的 auto_increment_increment 设置用于指定自增主键递增的步幅大小。

默认值

auto_increment_increment 的默认值为 1,这意味着每次插入记录时,主键值将增加 1。

自定义设置

在某些情况下,使用默认值可能并不是最佳选择。例如,在双主架构中,为了防止主库和备库生成主键冲突,可以使用以下设置:

auto_increment_increment=2

此设置将使主库生成奇数主键,而备库生成偶数主键。这样可以有效避免冲突。

具体示例

以下示例说明了如何设置 auto_increment_increment:

sql ALTER TABLE my_table AUTO_INCREMENT =100000; ALTER TABLE my_table AUTO_INCREMENT = 100000 INCREMENT BY 2;

第一个语句将表 my_table 中主键的起始值设置为 100000。第二个语句将主键递增步幅设置为 2,这意味着主键值将以 100002、100004 等方式递增。

注意事项

在设置 auto_increment_increment 时,需要注意以下几点:

  • 该设置只能在表创建时或通过 ALTER TABLE 语句进行更改。
  • 递增步幅必须为正整数。
  • 如果递增步幅更改为比当前主键值大,则不会影响现有记录的主键值。

结论

自增主键的连续自增特性

auto_increment_increment 设置是一个有用的功能,它允许管理员根据特定场景自定义自增主键的递增行为。通过仔细考虑应用程序的需求,可以优化表设计并确保主键生成安全可靠。


mysql中主键自动增长时的几种情况

MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如:

1.将自动增长字段设置为主键。

create table t1 (id int auto_increment Primary key,sid int);

2.将自动增长字段设置为非主键,注意必须显式添加Unique键。

create table t2 (sid int primary key,id int auto_increment Unique);

3.将自动增长字段设置为非主键如果未添加唯一索引将会报错**,如下面语句

create table t3 (sid int primary key,id int auto_increment)。

如何设置mysql 主键自动增长

如果你数据库已经建立 用这个方法:

ALTER TABLE `test` CHANGE `id` `id` INT(11) NOT NULL AUTO_INCREMENT;

如果你数据库没有建立 就用CREATE :

如果你用的数据库软件 比如Navicat for MySQL。 那么在设计表选项里有设置自动增长的,打上勾

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: MySQL

“MySQL-自增主键的连续自增特性 (mysql-u-p)” 的相关文章

实用性极强的-MySQL-查询优化策略 (实用性极强的app)

实用性极强的-MySQL-查询优化策略 (实用性极强的app)

在程序上线运行一段时间后,一旦数据量上去了,或多或少会感觉到系统出现延迟、卡顿等现象,出现这种问题,就需要程序员或架构师进行系统调优工作了,其中,大量的实践经验表明,调优的手段尽管有很多,但涉及到SQL调优的内容仍然是非常重要的一环,本文将…

MySQL-一探究竟-核心模块揭秘 (mysql-bin文件可以删除吗)

MySQL-一探究竟-核心模块揭秘 (mysql-bin文件可以删除吗)

UndoSegmentCachingToimprovetheefficiencyofundosegmentallocation,InnoDBcachessomeundosegmentsduringtransactioncommit.Both…

优化数据统计的终极指南-MySQL-提升查询性能的秘诀 (优化数据统计工具)

优化数据统计的终极指南-MySQL-提升查询性能的秘诀 (优化数据统计工具)

在业务场景中,我们经常需要统计当前已有的业务数据,例如商品库内商品的数量、每天的用户订单数量等,此时,我们需要使用统计功能来实现,count,实现方式对于不同的数据库引擎,count,的实现逻辑也不同,InnoDBInnoDB利用多版本控制…

实战-MySQL-数据库压力测试与性能评估方法-Java (实战篮球鞋排名)

实战-MySQL-数据库压力测试与性能评估方法-Java (实战篮球鞋排名)

压力测试的目的和重要性压力测试是模拟真实环境中并发用户访问数据库的场景,通过增加负载来测试数据库系统的性能表现,压力测试的目的是发现数据库在高负载下的性能瓶颈、资源利用情况和响应时间等指标,通过对数据库进行压力测试,可以评估数据库的性能、可…

主从复制原理简介-MySQL (主从复制原理mysql)

主从复制原理简介-MySQL (主从复制原理mysql)

主从复制,Master,SlaveReplication,是一种数据复制技术,用于在多个数据库主机之间的数据同步,在主从复制架构中,一个主机被设置为主主机,Master,,充任数据源,其余主机被设置为从主机,Slave,,用来复制主主机的数…

使用-数据库并自动发送备份文件到指定邮箱-K8s-定期备份-MySQL (使用数据库的命令)

使用-数据库并自动发送备份文件到指定邮箱-K8s-定期备份-MySQL (使用数据库的命令)

简介本文档描述了一个使用脚本来监控服务器高占用率进程并通过电子邮件发送警报的项目,本文还探讨了使用相同机制备份数据库的可能性,技术PythonpsutilsmtplibMySQLmysqldump脚本监控高占用率进程importpsutil…

EXPLAIN-代价模型-MySQL-浅析-提早预知索引优化战略-优化查问性能-告别自觉经常使用 (explain)

EXPLAIN-代价模型-MySQL-浅析-提早预知索引优化战略-优化查问性能-告别自觉经常使用 (explain)

背景在中,当咱们为表创立了一个或多个索引后,通常须要在索引定义成功后,依据详细的数据状况口头EXPLN命令,才干观察到数据库实践经常使用哪个索引、能否经常使用索引,这使得咱们在参与新索引之前,不可提早预知数据库能否能经常使用希冀的索引,更为…

揭秘MySQL中Varchar和Int的隐式转换 (揭秘国安部点名的间谍机构)

揭秘MySQL中Varchar和Int的隐式转换 (揭秘国安部点名的间谍机构)

前言在一次例行测试中,我们遇到了一个奇特的现象,一条查询库存数量的SQL语句,居然返回了0条记录,当我们手工执行SQL时,却查询到了一条记录,调查发现,原因在于MySQL的优化器在判断数据类型不匹配时,会进行隐式类型转换,本文将深入探讨My…