Mysql 更改“步长自动增量”字段“增量”
如何将MySQL increment by中的amountMysql 更改“步长自动增量”字段“增量”,mysql,auto-increment,Mysql,Auto Increment,如何将MySQL increment by中的amountauto_increment字段从默认值(1)更改为n?您可以使用以下方法进行更改: 或者,如果要从一开始设置: CREATE TABLE table (...) AUTO_INCREMENT = n; 如果要将自动增量步长从1更改为N,则有一个解决方案。 可以在MySQL服务器端完成: 查找“--auto increment-increment”启动选项或使用以下命令SET@@auto\u increment\u increment=
auto_increment
字段从默认值(1)更改为n?您可以使用以下方法进行更改:
或者,如果要从一开始设置:
CREATE TABLE table (...) AUTO_INCREMENT = n;
如果要将自动增量步长从1更改为N,则有一个解决方案。 可以在MySQL服务器端完成: 查找“--auto increment-increment”启动选项或使用以下命令
SET@@auto\u increment\u increment=2代码>,但请注意,这是服务器范围的更改(所有表都将增加2)
Unortodox解决方案可以考虑:
在同一台机器上启动两个具有不同端口的MySQL服务器(一个具有auto\u increment\u increment=1
另一个具有auto\u increment\u increment=2
)
使用一些服务器端魔法(PHP、ASP、?)结合关闭表自动增量
手动计算(在最后一个id和+=2处简单窥视即可),并在插入
查询中提供id
更改表格自动增量=n
其中n是要开始的数字您也可以使用
将SEQUENCE\u name INCREMENT改为N,其中N是新的增量值。我认为这并不是他想要的(它回答了他在问题主体中提出的问题,但不是标题中的问题)。这个问题显然是模棱两可的。是的,这并不是他想要做的(我现在编辑了这个问题,希望让它更清楚)。你想更改下一个使用的值,还是在值之间使用的步长(例如步长值2,使用1、3、5、7等)?抱歉,如果问题不明确是的正确我希望自动增量应该按照您的说明执行(如sql server中的标识(1,3),它将下一个值增加3)@sansknwoledge-我编辑了这个问题,希望它能问您的意思!您好,我查看了faq我有点困惑[您可以设置每个服务器生成与其他服务器不冲突的自动增量值。自动增量值应该大于服务器的数量(从该页面)]任何人都可以解释这一点吗?其思想是:服务器={db1,db2,db3};db01:{--auto-increment offset=0;--auto-increment=3};db02:{--auto-increment offset=1;--auto-increment=3};db03:{--auto-increment offset=2;--auto-increment=3};因此,db1只生成ID,其中(n%3)==0,对于db2(n%3)==1,对于db3(n%3)==2;i、 db1:“3,6,9,…”db2:“1,4,7,…”db3:“2,5,8”->无idconflict@Piskvor谢谢你的澄清,但是,如果我的数据库中有多个表都具有自动生成列,并且我只希望有一个表以步骤(例如2和rest follow 3)递增,我该怎么办?是否有任何方法可以只对一个表一步递增。这不调整步骤,而是调整起始值。这只是起始值
CREATE TABLE table (...) AUTO_INCREMENT = n;
alter table <table name> auto_increment=n