mysql自增ID起始值修改方法_Mysql

在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
 

即可

时间: 2024-08-01 15:46:11

mysql自增ID起始值修改方法_Mysql的相关文章

MySQL分表自增ID问题的解决方法_Mysql

当我们对MySQL进行分表操作后,将不能依赖MySQL的自动增量来产生唯一ID了,因为数据已经分散到多个表中.  应尽量避免使用自增IP来做为主键,为数据库分表操作带来极大的不便.  在postgreSQL.oracle.db2数据库中有一个特殊的特性---sequence. 任何时候数据库可以根据当前表中的记录数大小和步长来获取到该表下一条记录数.然而,MySQL是没有这种序列对象的.  可以通过下面的方法来实现sequence特性产生唯一ID:  1. 通过MySQL表生成ID 对于插入也就

Mysql select语句设置默认值的方法_Mysql

1.在没有设置默认值的情况下: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果: 设置显示默认值: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, IFNUL

VB.NET调用MySQL存储过程并获得返回值的方法_实用技巧

本文实例讲述了VB.NET调用MySQL存储过程并获得返回值的方法.分享给大家供大家参考.具体实现方法如下: Dim myConnectionString As String = "Database=" & myDatabase & _ " ;Data Source=" & myHost & _ ";User Id=" & myUserId & ";Password=" &

Java调用MySQL存储过程并获得返回值的方法_java

本文实例讲述了Java调用MySQL存储过程并获得返回值的方法.分享给大家供大家参考.具体如下: private void empsInDept(Connection myConnect, int deptId) throws SQLException { CallableStatement cStmt = myConnect.prepareCall("{CALL sp_emps_in_dept(?)}"); cStmt.setInt(1, deptId); cStmt.execute

mysql(AUTO_INCREMENT)自增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 A

mysql 批量更新与批量更新多条记录的不同值实现方法_Mysql

批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 复制代码 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 复制代码 代码如下:  UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values');  这里注意

mysql Cant open file:表名修改方法

mysql教程 cant open file:表名修改方法 1.can't open file: '[table]mytable.myi' 2.table 'picture' is marked as crashed and should be repaired 下面讲的方法只对myisam格式的表有效.其他类型的损坏需要从备份中恢复. 1,repair table sql statement(mysql服务必须处于运行状态). 2,命令mysqlcheck(mysql服务可以处于运行状态).

PPT幻灯片设置编号起始值的方法图解

1.如下所示会创建多个ppt纪灯片了在这里我们来尝试一下设置PPT的幻灯片起始值. 2.默认起始值是从1开始了,下面我们就来对起始页进行修改. 3.在ppt界面中我们点击菜单中的"设计"--"幻灯片大小"."幻灯片大小"点击右下角的"小三角",点击那个"小三角". 4.然后"小三角"在下拉菜单点击"自定义大小"-"自定义大小"就可以了. 5.弹出一

PHP连接MySql闪断自动重连的方法_Mysql

使用php作为后台运行程序(例如短信群发),在cli模式下执行php,php需要连接mysql循环执行数据库处理. 当mysql连接闪断时,之后循环的执行将会失败. 我们需要设计一个方法,当mysql闪断时,可以自动重新连接,使后面的程序可以正常执行下去. 1.创建测试数据表 CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, PRIMARY KEY (