在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法。
通常的设置自增字段的方法:
创建表格时添加:
create table table1(id int auto_increment primary key,...)
创建表格后添加:
alter table table1 add id int auto_increment primary key 自增字段,一定要设置为primary key.
许多时候希望table中数据的id不要从1开始,像qq, id从10000开始
代码如下:
alter table users AUTO_INCREMENT=10000;
而且该语句也适用于修改现有表的id上, 比如大批量删除数据后,想id从654321退回123456开始
alter table users AUTO_INCREMENT=123456;
但是经过实际测试, 单机的Mysql没有问题, Mysql Cluster下是无效的,可能在主键上的机制,还是有所不同,有时间研究一下
在Rails migration中的写法如下:
create_table :articles, :options => 'AUTO_INCREMENT = 1001' do |t|
# xxx todo
end
设置自增ID从N开始
CREATE TABLE TABLE_1 ( ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, // ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。 NAME VARCHAR(5) NOT NULL ) AUTO_INCREMENT = 100;(ID列从100开始自增)
如果想让自增ID从默认值开始只要
TRUNCATE TABLE table1
即可
相关推荐
- 对于已存在的表,可以使用`ALTER TABLE table_name AUTO_INCREMENT=n`命令来更改自增字段的起始值。 2. **删除记录的影响**: - 在MyISAM表中,删除最大编号的记录后,该编号不会被重用。这意味着自增序列不会...
2. 修改表的自增 ID 属性,将其设置为你希望的起始值。通常,我们想要从 1 开始,所以: ```sql $sql = "ALTER TABLE $table_vote AUTO_INCREMENT = 1"; mysql_query($sql, $link); ``` 这种方法的优点在于,它...
要重置自增字段的起始值,可以在创建表时使用`AUTO_INCREMENT=n`选项,或者使用`ALTER TABLE table_name AUTO_INCREMENT=n`命令。例如,如果你想要自增字段从10开始,你可以执行`ALTER TABLE table_name AUTO_...
4. **设置自增id起始值**:设置新表的自增id起始值为tb1的最大id值加1,避免id冲突。使用`ALTER TABLE tb2 AUTO_INCREMENT = xxxx+1`,其中xxxx是之前查询得到的最大id。 5. **切换表名**:重命名原表tb1为tb_...
在上述例子中,通过`ALTER TABLE`语句将`id`字段改为自动增加,MySQL自动地从当前表中最大`id`值的下一个数字开始自增,因此在插入新记录`'test6'`时,`id`字段被设置为101,符合预期。 问题延伸部分提出了两个额外...
本文将详细介绍几种主流数据库系统中的自增字段创建方法,包括 DB2、Oracle、MySQL、PostgreSQL、SQL Server 和 Sybase。 #### DB2 DB2 支持通过 `GENERATED ALWAYS AS IDENTITY` 属性来创建自增字段。这种方式...
在MySQL数据库中,自增ID...总结来说,MySQL中让自增ID归零的常用方法包括清空表(TRUNCATE TABLE)或删除数据后再修改自增ID的初始值(ALTER TABLE)。这两种方法各有适用场景,根据实际需求选择合适的操作方式。
2. 自增起始值:默认情况下,自增字段的初始值是1,但可以通过ALTER TABLE语句或CREATE TABLE语句来设置自定义的起始值。 3. 自增步长:默认情况下,每次自增1,也可以自定义增加的步长,如每次增加2或其他数值。 4....
`语句,将自增ID重置为指定值。 - 自增字段不一定要从1开始,可以根据业务需求设置合适的初始值。 总之,理解MySQL的自增(auto_increment)特性和其相关设置是数据库管理的基础知识,有助于优化数据存储并避免潜在...
5. `auto-increment-offset=1` 和 `auto-increment-increment=2`:用于主主同步时避免自增ID冲突,这里设置主服务器的自增ID起始偏移量为1,步长为2。 配置完成后,重启MySQL服务以应用改动。 接下来,我们配置备...
以下是一些针对MySQL `LIMIT` 分页速度慢的优化方法: 1. **避免大`OFFSET`值**: 当`OFFSET`值很大时,MySQL会跳过很多行才能到达需要返回的数据。例如,`LIMIT 200000, 10`需要扫描200010行,这是非常低效的。...
- `auto-increment-offset = 1` 设置自增ID的起始值,master1为1,master2为2。 5. **重启MySQL服务**: 修改完配置后,重启MySQL服务以使更改生效。 6. **设置主从关系**: 在master1上,设置master2为主,...
- 在MySQL中,类似的功能可以通过`LAST_INSERT_ID()`函数获取最后插入的自增ID,而`ALTER TABLE ... AUTO_INCREMENT = value`则可以修改自增列的初始值。 了解这些概念后,您可以根据业务需求有效地管理和利用自增...
这行命令会将表`tbl`的自增字段的起始值设置为1。 **2. 实现自增长字段** 要在MySQL中创建具有自增长功能的字段,你可以按照以下步骤操作: ```sql CREATE TABLE abc ( id INT(10) NOT NULL AUTO_INCREMENT ...
根据提供的描述“数据库从新排列,数据库从上一id挨着排”,我们可以理解为需要将某个自增字段重新设置起始值,并按照一定规则递增。这种操作通常在维护数据库完整性、优化数据结构或处理数据异常时会用到。 #### ...
这种方法通过先获取起始ID值,再基于该ID值进行查询,从而提高了查询速度。 **解决方案2:** 使用`BETWEEN`操作符进一步优化性能: ```sql SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010; ``` 相比...