SQLite3中自增主键相关知识总结
一、SQLite清空表并将自增列归零 SQL标准中有TRUNCATE TABLE语句,用来清空表的所有内容。 SQLite虽然不支持TRUNCATE,但它对DELETE做了优化: 当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。 也可以直接把该记录删掉: 二、Sqlite中INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用 在用sqlite设计表时,突然想到一个问题,就是我设计的表中,每个表都有一个自己的整形id值作为主键, 为什么不直接使用这个内部的rowid作为每个表的id主键呢。 Sqlite中,一个自增长字段定义为 INTEGER PRIMARY KEY AUTOINCREMENT rowid的新值会这个最大数之前随机找一个没被使用了的值。所以在rowid达到最大值前,rowid的值是严格单调增加的。 这里对应用的影响会比较大,尤其是一些对id值有依赖的元记录,只适合使用自增长字段而不能用rowid。 最后,我们的应用可以根据这个一级表来产生实际使用的二级表。 第三,使用自增长字段,引擎会自动产生一个sqlite_sequence表,用于记录每个表的自增长字段的已使用的最大值,用户可以看到, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLServer与Oracle的对比
- sql-server – SQL Server:修改“应用程序名称”属性进行审
- MySQL的root密码忘记怎么办 修改root密码的方式
- "update语句的语法错误"解决
- SQLServer和Oracle常用函数对比@http://www.enet.com.cn/ar
- MSSQL 将截断字符串或二进制数据问题的解决方法
- win2003 Server配置SQL Server 2005远程连接的方法
- 在SQL Server中如何将索引从一个表复制到另一个表
- sql-server – 如何在不使用.NET的情况下从SQL Server 2008
- 【整理】SqlServer查看表结构字段名/字段类型/字段描述/是否