在对带有AUTO_INCREMENT列的表delete掉所有数据时:
(1)对于MyISAM表,在delete表中所有数据时没有任何风险,随意折腾;
(2)对于InnoDB表,在delete表中所有数据时,是可能有风险的,可能会引入一个大坑,具体看后面的实验。
环境描述:RHEL 6.4 x86_64 + MySQL 5.6.19...
分类:
数据库 时间:
2014-10-16 17:08:52
阅读次数:
197
1. 说明
(1)对于MyISAM表,如果用UPDATE更新自增列,如果列值与已有的值重复,则会出错;如果大于已有的最大值,则会自动更新表的AUTO_INCREMENT,操作是安全的。
(2)对于innodb表,update auto_increment字段,如果列值与已有的值重复,则会出错;如果大于已有的最大值,可能会引入一个坑,会造成编号重复错误,插入数据失败的情况,可见在update自增列值是要注意。...
分类:
数据库 时间:
2014-10-15 17:40:11
阅读次数:
285
今天想插入数据从另一个表中,结果出现了各种问题这个百度找的:insert into b(id,title,content) select id,title,content from a这个是一开始写的:insert into 表B select * from 表A(这样会报标识列错误信息。)set ...
分类:
其他好文 时间:
2014-10-14 20:34:09
阅读次数:
148
SQLite清空表并将自增列归零SQL标准中有TRUNCATE TABLE语句,用来清空表的所有内容。但SQLite不支持这个语句。在SQLite中直接使用 DELETE FROM TableName 就可以了。对于大多数DBMS来说,用DELETE不如用TRUNCATE 速度快,因为TRUNCAT...
分类:
数据库 时间:
2014-10-10 22:45:54
阅读次数:
328
CREATE TABLE tb_name( id INT NOT NULL IDENTITY PRIMARY KEY, title NVARCHAR(20) NULL)查看 tb_name 表中 是自增长的列SELECT TOP(1) IDENTITYCOL FROM tb_name查看 tb_.....
分类:
数据库 时间:
2014-09-27 13:50:19
阅读次数:
379
2014-09-2608:53:42 【文章出处:http://www.cnblogs.com/wlandwl/archive/2014/09/25/bigpage.html】 在sql sever中大数据的分页一直是难以处理的一块,利用id自增列分页也存在不足之处。从一个相对全面的分页看,...
分类:
数据库 时间:
2014-09-26 11:17:58
阅读次数:
285
在sql sever中大数据的分页一直是难以处理的一块,利用id自增列分页也存在不足之处。从一个相对全面的分页看,sql sever2005中新增的row_number()函数解决了这个问题。还是从一个实际项目开始介绍吧。中国铁建股份公司的项目表中数据很大,开发之初用的是GridView控件自带的分...
分类:
数据库 时间:
2014-09-26 02:09:48
阅读次数:
424
SqlServer2012中identity列存在一个特性:当服务器重启时,定义为int的identity列会自动在原来最大值上加1000。例如你原来一个自增列中最大值是2,那你重启后插入一条数据到这个表中,你的这个自增列就会是1002了,在2008里就应该是3.定义为bigint的identity...
分类:
数据库 时间:
2014-09-25 19:28:57
阅读次数:
170
[MySQL FAQ]系列 — 为什么InnoDB表要建议用自增列做主键http://imysql.com/2014/09/14/mysql-faq-why-innodb-table-using-autoinc-int-as-pk.shtml我们先了解下InnoDB引擎表的一些关键特征:InnoDB...
分类:
数据库 时间:
2014-09-14 20:38:17
阅读次数:
282
SQL标准中有TRUNCATE TABLE语句,用来清空表的所有内容。但SQLite不支持这个语句。在SQLite中直接使用“DELETE FROM TableName”就可以了。对于大多数DBMS来说,用DELETE不如用TRUNCATE 速度快,因为TRUNCATE 不用访问整个表,不用记录数据...
分类:
数据库 时间:
2014-08-19 09:18:13
阅读次数:
259