我有2个表order_retailer和order_customer
它们都有自动递增的主键order_id
为了在整个系统中保持订单ID唯一,我希望order_retailer只将id作为偶数,而对于order_customer,id将是奇数.为此,我必须将autoincrement的增量值设置为2.是否可以在mysql中将其设置为表格.
我不想要一个php解决方案.如果有一个命令/查询将特定表的自动增量转换设置为2,请告诉我.另外我不想更改服务器变量auto_increment_increment或auto_increment_offset或任何其他服务器变量
Sah*_*hal 11
您可以从另一个表中偏移一个表的自动增量字段,即一个表从1开始,而另一个表从1000000开始(或根据您的使用模式选择一些其他值).
CREATE TABLE table1 (id BIGINT UNSIGNED AUTO_INCREMENT);
CREATE TABLE table2 (id BIGINT UNSIGNED AUTO_INCREMENT) AUTO_INCREMENT = 1000000;
Run Code Online (Sandbox Code Playgroud)
您也可以根据需要选择自动增量柱类型.BIGINT UNSIGNED的范围是0..18446744073709551615,应该涵盖大多数情况.
要么
尝试
SET @@auto_increment_increment=2;
SET @@auto_increment_offset=2;
Run Code Online (Sandbox Code Playgroud)
不,不可能明智地设置它.
Mysql有2个变量auto_increment_increment,auto_increment_offset 默认情况下这两个变量的值都是1.如果您更改任何值,它将具有全局效果.
为了解决你的问题,创建一个存储过程,根据需要甚至id.
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
12027 次 |
| 最近记录: |