MySQL-自增主键的连续自增特性 (mysql-u-p)
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 语句进行更改。
- 递增步幅必须为正整数。
- 如果递增步幅更改为比当前主键值大,则不会影响现有记录的主键值。
结论
![自增主键的连续自增特性](https://tyye.cn/zb_users/theme/tpure/style/images/lazyload.png)
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。 那么在设计表选项里有设置自动增长的,打上勾
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。