我有两列Index
和path
. 由于我的代码的当前逻辑,我希望 path 成为primary
key 并且 Index 成为auto Increment
。这可能吗?
问问题
126 次
2 回答
1
GUID 值旨在跨表甚至数据库是唯一的,因此,使 auto_increment 列成为主索引并为 GUID 创建一个唯一索引。我认为这就是你所需要的。
于 2013-10-26T10:10:10.950 回答
0
如果我说对了,您最终希望它path
会自动递增,我已经使用新值触发器来做到这一点,在您的表创建过程中运行这两个命令
String sqlTableCreation = String.format("create table %s (%s INTEGER primary key, " +
"%s integer DEFAULT 0)",
Contract.TABLE,
Contract.INDEX,
Contract.PATH
);
String sqlPathAutoIncrement =
String.format("CREATE TRIGGER pk AFTER INSERT ON %1$s" +
" BEGIN" +
" UPDATE %1$s" +
" SET %2$s = 1+ (SELECT MAX(%2$s) FROM %1$s) " +
" WHERE ROWID = new.ROWID;" +
" END;" ,
Contract.TABLE,
Contract.PATH,
Contract.INDEX);
于 2013-10-26T10:19:04.840 回答