mssql 字增自段怎样重置 清空表已有数据(重新自增)
2014-02-11 11:15
176 查看
在mssql中,新接触到一个清空表的操作方法:那就是truncate table <tabel_name>。
以前常用delete from <table_name> where ?=?来判断和删除记录。
如果要清空表(table)的话,delete from <table_name> 和 truncate table <tabel_name>的结果是一样的。
但是delete的话是系统是会记录日志的,而truncate则不会记录日志,而直接将表清空,前者可通过系统恢复数据,而后者无法恢复,所以有一定危险性。
其次, 使用delete from <table_name>的话,table中自增的字段计数器是不会还原的,也就是说如果你接着插入数据的话,自增字段的起始值是会接着原来的记录开始。而truncate table <table_name>会将计数器还原,新插入的数据的自增字段重头开始。
例如,如果清空前表中有一个字段ID是自增字段,并且最近一个的值为11,那么使用前者清空后,插入一条新记录,新记录的ID会是12;而使用后者清空后,插入一条新记录,新记录的ID是1;(ID从1开始自增)
以前常用delete from <table_name> where ?=?来判断和删除记录。
如果要清空表(table)的话,delete from <table_name> 和 truncate table <tabel_name>的结果是一样的。
但是delete的话是系统是会记录日志的,而truncate则不会记录日志,而直接将表清空,前者可通过系统恢复数据,而后者无法恢复,所以有一定危险性。
其次, 使用delete from <table_name>的话,table中自增的字段计数器是不会还原的,也就是说如果你接着插入数据的话,自增字段的起始值是会接着原来的记录开始。而truncate table <table_name>会将计数器还原,新插入的数据的自增字段重头开始。
例如,如果清空前表中有一个字段ID是自增字段,并且最近一个的值为11,那么使用前者清空后,插入一条新记录,新记录的ID会是12;而使用后者清空后,插入一条新记录,新记录的ID是1;(ID从1开始自增)
相关文章推荐
- mssql 字增自段怎样重置(重新自增)|清空表已有数据
- mssql 字增自段怎样重置(重新自增)|清空表已有数据
- mssql 字增自段怎样重置(重新自增)|清空表已有数据
- sql server Truncate清空表内数据,并对自增长列重置归零重新计算
- MSSQL清空当前数据库中所有用户表的数据,重置标识列
- 如果表结构发生改变,怎样避免重新生成表(保留原有数据)
- 错误删除数据或清空数据怎样可以找回
- HTML或者JSP页面--执行完某事件后刷新页面,重置表单,清空数据
- 一是关于怎样找出和去除重复数据,这在另一个帖子利已有详细介绍。二是关于找出某一列里最大或最小的前几个,或是大于或小于某一个值(最大值或平均值)的数据
- 修改postgresql 数据表 已有字段 自增 sql
- SQL Server 自增字段重置与清空数据库中所有表数据的方法
- sql清空表数据后重新添加数据存储过程的示例
- Sqlite 清空表中所有数据 并重置自增长数据
- JSP 重置按钮清空传入的表单数据实例
- MSSQL删除表中已有的重复数据,保留一条数据
- mysql 清空所有表数据重置自增ID
- Sqlite 清空表中所有数据 并重置自增长数据 以及获取last_insert_id的方法
- 数据表清空后如何将表中的自增字段归零
- 怎样恢复回收站中清空的数据
- SQL Server 不清空数据,修改数据库字段、结构,阻止保存要求重新创建表的更改