mysql - 如何将 MySQL 中的自动递增计数器从 +1 更改为 +43

标签 mysql sql

我正在尝试将 MySQL 中的自动递增计数器从 +1 更改为 +43。

例如,我的行有 Id = 1、2、3。 但我不希望 Id 具有 +1 序列。

我想要他们像 43、86、129

我试过了

ALTER TABLE `table_name` AUTO_INCREMENT=43 

但这只是将序列更改为 43、44、45

最佳答案

你必须改变系统变量auto_increment_offset到你想要的偏移量。但使用此解决方案时要小心,因为您更改了所有表(和 INSERT 命令)的偏移量。我不推荐此解决方案,另一个具有自定义(计算)ID 的列将是更好的解决方案:

SET @@session.auto_increment_offset = 43;

INSERT INTO table_name (col1, col2) VALUES ('val1', 'val2')

您还可以使用默认的自动增量(offset = 1)并使用计算来获取自定义增量:

SELECT id, id * 43 AS `custom_id`
FROM table_name

关于mysql - 如何将 MySQL 中的自动递增计数器从 +1 更改为 +43,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56751752/

相关文章:

mysql - "Friend"跨两个 mysql 表的关系

php - 如何在评论时获取帖子的当前 ID

mysql - 连接到 Visual Studio 中的数据库

MySQL 的 LIKE 运算符找不到完全匹配的电话号码

java - JDBC 结果集行为异常

mysql - 出生日期 + 生日 SQL

python - 添加的数据库记录在重新启动应用程序后被删除(heroku/SQLAlchemy)

php - 帮助查找此 MySQL 页面中的安全漏洞?

php - 为许多记录批量插入 laravel

python - DB2 python 插入字典列表