0

我有两列Indexpath. 由于我的代码的当前逻辑,我希望 path 成为primarykey 并且 Index 成为auto Increment。这可能吗?

4

2 回答 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 回答