精易论坛
标题:
sqlite不宜用rowid当主键
[打印本页]
作者:
lhighsong
时间:
2016-5-9 09:14
标题:
sqlite不宜用rowid当主键
我近日使用sqlite数据库,用vacuum收缩数据库时,表中rowid重排了。比如表1中原来rowid是1到6,把2、4记录删除后,rowid是1、3、5、6,但vacuum后,rowid变成1、2、3、4。而表2中有一列是"表1id",如果有一行记录的"表1id"是5,vacuum之后在表1中就找不到数据了,而能找到的,也乱了。
没法,只好在每个表里新建了id列作为主键,所以不建议用rowid作主键。
作者:
lhighsong
时间:
2016-5-9 09:18
准确来说,是不宜当外键。
作者:
jksuan
时间:
2016-5-10 11:53
想在其它表中关联ID最好是自己设置的一个唯一特征字段,这样才能保证一致性,维护收缩表当然会把内置自增ID重排了!
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4