0

と の 2 つの列がIndexありpathます。私のコードの現在のロジックのために、 path をprimarykey にし、 Index も にしたいと思いますauto Increment。これは可能ですか?

4

2 に答える 2

1

GUID 値は、テーブルやデータベース全体で一意であることを意図しているため、auto_increment 列をプライマリ インデックスにし、GUID の UNIQUE インデックスを作成します。これが必要だと思います。

于 2013-10-26T10:10:10.950 に答える
0

私が正しいとしたら、最終的pathに自動インクリメントされることを望んでいます。私は新しい値でトリガーを使用してそうしました。テーブル作成プロセスでこれら2つのコマンドを実行します

        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 に答える