php - MySQL - AUTO_INCRMENT,表的自定义增量开始和值

标签 php mysql sql auto-increment

有没有办法只为一张MySQL表指定自定义自增起始值和自定义自增增量值?

我找不到我的问题的明确答案。似乎有两个全局变量 auto_increment_increment 和 auto_increment_offset 但我只需要一张表。另一个网站建议使用 AUTO_INCREMENT(<offset>,<increment>)但这种方法只是触发了 MySQL 错误。

那么有没有办法做到这一点?

最佳答案

您无法在 MySQL 中更改每个表的步骤。运行SET @@auto_increment_increment=2;或更改启动值将影响服务器上的所有表和数据库。

据我所知,您有两种选择:

  1. 禁用 MySQL 的 auto_increment 并创建一些 php 函数来执行此操作 你,虽然我不会推荐这个,除非它非常低 交易网站。
  2. 您可以考虑使用一个触发器来执行您想要的数学运算并设置自定义 值到另一个字段。

    在每行开始插入 my_table 之前创建触发器 trigger
    SET NEW.id2 = NEW.id * 2;
    结束

关于php - MySQL - AUTO_INCRMENT,表的自定义增量开始和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21121384/

上一篇:php - 不会组团吗?

下一篇:PHP/MySQL 搜索

相关文章:

php - 从另一个表更新总和

mysql - mysql如何删除多个表中同一列?

sql - Postgresql - 查询由另一列的代理索引的列

mysql - 使用 SQL 连接 3 个以上的表显示太多结果

php - 保护可购买的下载链接

php - 我需要有关 extjs 消息传递和排队中间件系统的帮助

mysql - 如何在mysql中使用HAVING选择带有x但不带有y或z的行

php - 父子关系,无需使用PHP获取并重用返回值

java - 选择 Android Realm 中的计数

php - 最简单、最小的PHP账户系统