摘要: 在用sqlite设计表时,每个表都有一个自己的整形id值作为主键,其实可以不指定这么一个id值,sqlite内部本来就会为每个表加上一个 rowid,这个rowid可以当成一个隐含的字段使用,但是由sqlite引擎来维护的,在3.0以前rowid是32位的整数,3.0以后是 64位的整数,为什么不直接使用这个内部的rowid作为每个表的id主键呢。相关的文档在这里:?http://www.sqlite.org/autoinc.html?http://www.sqlite.org/faq.html用指定INTEGER PRIMARY KEY AUTOINCREMENT 和不指定自增长字段用row 阅读全文
posted @ 2012-03-11 19:16 一修先生 阅读(1674) 评论(0) 推荐(0) 编辑
摘要: 大部分数据库在进行字符串比较的时候,对大小写是不敏感的。但是,最近使用SQLite的时候,却发现它的情况恰好相反。假设表User的结构和值如下:UserName1User1执行下面的SQL语句:SELECT * FROM [User] WHERE UserName = 'user1'结果是没有找到任何记录。明显地, SQLite在进行字符串比较的时候,默认对大小写是敏感的 。这会对应用程序造成不良的影响。比如,用户在输入用户名的时候必须严格按照大小写输入,这是一种很不好的用户体验;用户表中可能同时存在 user 和 USER 两个用户,容易造成混淆。由于SQLite是近年来才兴 阅读全文
posted @ 2012-03-11 19:13 一修先生 阅读(822) 评论(0) 推荐(0) 编辑