清空MySQL表,如何使ID重新从1自增???
SQL Identity自增列清零方法
1.使用DBCC控制台命令:
dbcc checkident(表名,RESEED,0)
2.truncate table 也可将当前标识值清零
但当有外键等约束时,无法truncate表
可以先禁用外键约束来truncate表:
--禁用外键约束
exec sp_msforeachtable 'alter table ? nocheck constraint all'
--清空数据
truncate table 表名
--启用外键约束
exec sp_msforeachtable 'alter table ? check constraint all'
我常用 truncate table 进行数据表内数据的清空,同时将ID列重新开始计数!
truncate table 课程表
truncate table 学生表
truncate table 选课表
方法和详细的操作步骤如下:
1、第一步,可以看到一条新记录已添加到mysql数据库表中,ID为59818,但显然只有一条记录,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,可以通过“truncate table 表名”重置空ID,以使ID自动从1开始增加,见下图,转到下面的步骤。
3、第三步,完成上述步骤后,运行“ truncate table crew_test”语句,以重建空的crew_test表ID,见下图,转到下面的步骤。
4、第四步,完成上述步骤后,再次打开crew_test表并添加两个新记录,可以看到id从1开始增加,见下图。这样,以上的问题就解决了。
清空MySQL表,使ID重新从1自增的步骤如下:
我们需要准备的材料分别是:电脑、Mysql查询器。
1、首先,打开Mysql查询器,连接上相应的mysql连接。
2、鼠标右击需要清空自增ID的表,选择“设计表”,再将选项卡切换到“设置”栏,会发现虽然清空了表,但是自动递增的数值仍然没有变回1。
3、在自动递增栏,将数值更改为数字1,并点击“保存”按钮。
4、此时会发现,再新增数据时,ID自动从1开始递增了。
truncate语句,是清空表中的内容,包括自增主键的信息。truncate表后,表的主键就会重新从1开始。
语法:
TRUNCATE TABLE table1
两种方法
重设表自增长起始值
alter table users AUTO_INCREMENT=1;
2. sql入库传入id参数
通过java代码循环设置参数的时候将id设置为循环的index
每次启动的时候执行 SQL :ALTER TABLE 表名 auto_increment='1';
1.删除ID字段;
2.新增ID字段,然后设置索引和自增加属性;
3.保存,循环如此即可;
怎么查看数据库锁表?
1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share 共享锁(S):阻止其他DML操作 5:S\/Row-X 共享行专用(SRX):阻止其他事务操作 6:exclusive 专用(X):独立访问使用 数字越大锁级别越高, 影响的操作越多。 一般的查询语句如select ... from ... ;是小于2的锁, ...
MySQL快速清空表数据
方法一(保留数据表结构):通过执行SQL语句:TRUNCATE TABLE 表名;方法二(保留数据表结构):同样使用SQL语句:TRUNCATE TABLE 表名;方法三(数据及数据表结构全部删除):使用SQL语句:DROP TABLE 表名;OR 1.DELETE・DML语言・可以回退・可以有条件的删除・无法删除主键ID&...
PHP怎么清空MYSQL数据库中一个表里面的值?
delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留...
MySQL如何防止SQL注入
比如说有如下一张表:出前端页面的简略的代码:·前端页面通过form表单的形式输入查询条件并调用后端sql。显然对于上面这条sql语句,正常的操作应该是在前端页面输入一个名字,并查询结果,如:传入参数为:张三,则对应sql为:select * from user where name = ‘张三’;那么,其结果...
MySQL数据表创建时必须有数据记录mysql不允许空表
MySQL数据表创建时必须有数据记录 在MySQL数据库中,数据表是存储数据的主要组件之一。创建数据表时,常常需要先设定字段名、数据类型、长度等属性,再插入数据记录。但是,有些情况下,我们希望在创建数据表时就能够插入数据记录,以提高效率和简化操作。那么,MySQL数据表创建时必须有数据记录吗?答案是不...
用Navicat8.0如何清空MYSQL全部数据?
Navicat8清空表的操作还是挺简单的:加入你要清空test数据库中的所有表,那么在Navicat8按照下面的步骤进行:1、双击test数据库,可以看到数据库下级联列出“表”、“视图”、“存储过程”等项目;2、点击“表”前面的加号,就展开列出了数据库中的所有表;3、选中一个表,然后右击该表,从弹出的选项...
PHP怎么写可以清空MYSQL数据库中一个表里面的值!
参考方法:delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate...
mysql如何优化插入记录速度
插入记录时,影响插入速度的主要是索引、唯一性校验、一次插入记录条数等。根据这些情况,可以分别进行优化,本节将介绍优化插入记录速度的几种方法。一. 对于MyISAM引擎表常见的优化方法如下:1. 禁用索引。对于非空表插入记录时,MySQL会根据表的索引对插入记录建立索引。如果插入大量数据,建立索引会降低...
mysql删除表的命令
在MySQL中,可以使用DELETE语句来删除表的一行或者多行数据。MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。MySQL所使用的SQL...
如何往数据库插入字段为空值的sql语句
2、进去以后,点击数据库文件前面的+号,3、然后右键数据库文件夹,选择“新建数据库”。4、然后建立一个名为test的数据表。5、建立完成后,在下方的编辑器中输入下方图片中的代码,点击运行,6、运行之后,可以看到test表插入了一条空记录,,这样就完成了。如下图所示:...
豆卢征博利: truncate语句,是清空表中的内容,包括自增主键的信息.truncate表后,表的主键就会重新从1开始. 语法: TRUNCATE TABLE table1
台湾省18564486798: mysql数据库删除一条数据后还想让新增数据从空缺id处开始. - ?
豆卢征博利: 方法1:truncate table 你的表名//这样不但将数据全部删除,而且重新定位自增的字段 方法2:delete from 你的表名 dbcc checkident(你的表名,reseed,0) //重新定位自增的字段,让它从1开始 方法3:如果你要保存你的数据,介绍你第三种方法,...
台湾省18564486798: 清空SQL数据库后怎么让序列ID重1开始排列 - ?
豆卢征博利: 方法和详细的操作步骤如下:1、第一步,可以看到一条新记录已添加到mysql数据库表中,ID为59818,但显然只有一条记录,见下图,转到下面的步骤.2、第二步,完成上述步骤后,可以通过“truncate table 表名”重置空ID,以使ID自动从1开始增加,见下图,转到下面的步骤.3、第三步,完成上述步骤后,运行“ truncate table crew_test”语句,以重建空的crew_test表ID,见下图,转到下面的步骤.4、第四步,完成上述步骤后,再次打开crew_test表并添加两个新记录,可以看到id从1开始增加,见下图.这样,以上的问题就解决了.
台湾省18564486798: 怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始?? - ?
豆卢征博利: SQL Identity自增列清零方法 1.使用DBCC控制台命令:dbcc checkident(表名,RESEED,0)2.truncate table 也可将当前标识值清零但当有外键等约束时,无法truncate表 可以先禁用外键约束来truncate表:--禁用外键约束exec sp_...
台湾省18564486798: mysql删除表的记录后如何使id从1开始 - ?
豆卢征博利: 用 TRUNCATE TABLE table1 Truncate是一个能够快速清空资料表内所有资料的SQL语法.并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用.
台湾省18564486798: 如何把mysql的ID归0 - ?
豆卢征博利: 如果id是自动编号的,那是没办法清0的,只能删除了重新建立
台湾省18564486798: mysql删除数据记录后如何使自动编号从1开始 - ?
豆卢征博利: 这是很多人的误会: 自动编号只代表数据库只保证自动建立的编号是唯一, 并不保证编号是连续的.至於你第2个问题, 可使用: 1. 程序语言实现(PHP, JAVA, C++, VB), 当执行删除操件, update xxx set id = id - 1 where id > deleteId2. 建立数据库"触发" (Trigger)但老实说, 保存ID的连续性在实际上并不存在任何意义.
台湾省18564486798: mysql如何让自增id归0解决方案 - ?
豆卢征博利: 最近老是要为现在这个项目初始化数据,搞的很头疼,而且数据库的Id自增越来越大,要让自增重新从1开始:那么就用下面的方法吧:方法一: 如果曾经的数据都不需要的话,可以直接清空所有...
台湾省18564486798: MySQL删除重复记录后,如何对id字段进行重新设置(从1开始到去重后的数目) - ?
豆卢征博利: 先清空字段内容吧. set autoxxx=1 然后 把字段改为 主键 自增
台湾省18564486798: mysql中的id是自增长 当删除一条记录时怎么样让编号重新从1开始编号 - ?
豆卢征博利: ALTER TABLE `database`.`tb` AUTO_INCREMENT=1;后面的值自己定义