mysql如何让自增id归0解决方案
最近老是要为现在这个项目初始化数据,搞的很头疼,而且数据库的Id自增越来越大,要让自增重新从1开始:那么就用下面的方法吧:
方法一: 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
truncate table 表名
方法二: dbcc checkident ('table_name', reseed, new_reseed_value) 当前值设置为 new_reseed_value。如果自创建表后没有将行插入该表,则在执行 DBCC CHECKIDENT 后插入的第一行将使用 new_reseed_value 作为标识。否则,下一个插入的行将使用 new_reseed_value + 1。如果 new_reseed_value 的值小于标识列中的最大值,以后引用该表时将产生 2627 号错误信息。
方法二不会清空已有数据,操作比较灵活,不仅可以将自增值归零,也适用于删除大量连续行后,重新设置自增值并插入新的数据;或从新的值开始,当然不能和已有的冲突。
$sql="delete from $table_vote";
mysql_query($sql, $link);
$sql="alter table $table_vote auto_increment=1";
mysql_query($sql, $link);
相关推荐
-
mysql中自增auto_increment功能的相关设置及问题
mysql中的自增auto_increment功能相信每位phper都用过,也都知道如何设置字段为自增字段,但并不是所有phper都知道auto_increment的起始值和递增量是如何设置的!本文就为大家分享一下mysql字段自增功能的具体查看及设置方法. 涉及知识介绍: mysql服务器维护着2种mysql的系统参数(系统变量):全局变量(global variables)和会话变量(session variables).它们的含义与区别如其各占的名称所示,session variables
-
怎么重置mysql的自增列AUTO_INCREMENT初时值
重置 MySQL 自增列 AUTO_INCREMENT 初时值 注意, 使用以下任意方法都会将现有数据删除. 方法一: delete from tb1; ALTER TABLE tbl AUTO_INCREMENT = 100; (好处, 可以设置 AUTO_INCREMENT 为任意值开始) 提示:如果表列和数据很多, 速度会很慢, 如90多万条, 会在10分钟以上. 方法二: truncate tb1; (好处, 简单, AUTO_INCREMENT 值重新开始计数.) 怎么重置mysql的
-
Mysql auto_increment 重新计数(让id从1开始)
方法一 delete from test; alter table `test` auto_increment=1 (好处,可以设置AUTO_INCREMENT 为任意值开始) 提示:如果表列和数据很多,速度会很慢,如90多万条,会在10分钟以上. 方法二 truncate table test (好处,简单,AUTO_INCREMENT 值重新开始计数) 一般情况下我们使用第二个就可以了,记住以上情况都是彻底删除所有记录.
-
PHP获取MySql新增记录ID值的3种方法
一.使用语句: 复制代码 代码如下: mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定是我们插入数据的自增id值,因此不适用于多线程. 二,使用函数:msyql_insert_id(); 在PHP中,经常需要把插入数据库中的id值取出来,而正好有这么一个函数: 复制代码 代码如下: <?php //执行插入数据库的语句 //-- $getID=mys
-
Java实现获得MySQL数据库中所有表的记录总数可行方法
在MySQL中,可以通过SELECT COUNT(*) FROM table_name查询某个表中有多少条记录.如果想知道某个数据库中所有别的记录总数应该怎么做呢?本文给出两种可行的Java程序,解决该问题. 1. 首先确定数据库中有多少个表,然后对每个表执行SELECT COUNT(*) FROM table_name 复制代码 代码如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.Pr
-
Java获取最后插入MySQL记录的自增ID值的3种方法
方法一: 复制代码 代码如下: String sql = "INSERT INTO users (username,password,email) VALUES (?,?,?);";PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//传入参数:Statement.RETURN_GENERATED_KEYSpstmt.setSt
-
mysql自增ID起始值修改方法
在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 自
-
MySQL查询和修改auto_increment的方法
本文实例讲述了MySQL查询和修改auto_increment的方法.分享给大家供大家参考.具体如下: 查询表名为tableName的auto_increment值: 复制代码 代码如下: SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name="tableName"; 修改表名为tableName的auto_increment值: 复制代码 代码如下: ALTER TABLE tableName au
-
解析mysql中的auto_increment的问题
今儿在逛论坛时,发现一个看似很简单的问题,却引起了大家的广泛关注:这是一道很早的面试题:一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 .答案: 如果表的类型是MyISAM,那么是18. 因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失. 如果表的类型是InnoDB,那么是15. InnoDB表只是把自增主键的最大ID记录到内存
-
Mysql获取id最大值、表的记录总数等相关问题的方法汇总
一.mysql 获取当前字段最大id SQL语句: select max(id) from yourtable; 二.获取mysql表自增(Auto_increment)值 Auto_increment是表中的一个属性,只要把表的状态获取到,也就可以获取到那个自增值 SQL语句: show table status like "表名"; php代码实现 $get_table_status_sql = "SHOW TABLE STATUS LIKE '表名'"; $r
随机推荐
- NancyFx框架检测任务管理器详解
- 深入理解Vuex 模块化(module)
- Windows XP“远程桌面”的应用
- 浅谈foreach写失效的问题
- Oracle to_char函数的使用方法
- python使用wxpython开发简单记事本的方法
- 微信小程序使用第三方库Immutable.js实例详解
- 微信小程序商城项目之商品属性分类(4)
- 关于JSP配置文件web.xml加载顺序详解
- Android 自定义view模板并实现点击事件的回调
- 如何防止未经注册的用户绕过注册界面直接进入应用系统?
- JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
- PHP大小写问题:函数名和类名不区分,变量名区分
- jquery自动切换tabs选项卡的具体实现
- 用sql获取某字符串中的数字部分的语句
- 详解C语言中telldir()函数和seekdir()函数的用法
- CSS 美化表格边框为凹陷立体效果的实现方法
- Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
- PHP 利用Mail_MimeDecode类提取邮件信息示例
- php中使用preg_replace函数匹配图片并加上链接的方法
