我有一个现有的mysql表,id列定义为primary,auto-increment设置为true。现在,我想知道我是否可以将自动增量设置为从预定义值开始,例如5678,而不是从1开始。
我还想知道我是否可以设置自动递增的步骤,比如每个新记录插入增加15(而不是默认增量值1)。
注意 - 我使用phpmyadmin来玩db,我有很多表但只有一个db。
感谢。
答案 0 :(得分:5)
ALTER TABLE tbl AUTO_INCREMENT = 5678
会将该表的自动增量设置为5678。请查看详细信息here。
答案 1 :(得分:3)
您可以使用以下命令
设置自动增量值ALTER TABLE tbl_name AUTO_INCREMENT = 5678;
可以使用以下命令
更新auto_increment计数器变量SET @@auto_increment_increment=15;
here点击了解更多信息
mysql> SET @@auto_increment_increment=15;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> SELECT col FROM autoinc1;
+-----+
| col |
+-----+
| 1 |
| 16 |
| 31 |
| 46 |
答案 2 :(得分:1)
ALTER TABLE whatever AUTO_INCREMENT=5678
- 或者在phpMyAdmin中,转到表格视图的“操作”选项卡并将其设置在那里。对于增量步骤,请使用设置auto_increment_increment。
答案 3 :(得分:1)
您还可以使用server-system-variables:
和
这将允许您每次增加除1(例如15)之外的其他值。 如果您使用不同服务器上的相同偏移量从不同的值开始。这将允许您将表保留在可以合并而无需密钥重叠的不同服务器上。
e.g。
(inc = 15 offset = 1) (inc=15 offset = 2)
table1 on server A table1 on server B
-----------------------------------------------------
id name id name
1 bill 2 john
16 monica 17 claire
....
这非常有用。
由于主要用途是不同服务器上的相同表格以不同的方式运行,因此它是服务器设置而不是表格设置。
答案 4 :(得分:0)