私はsqliteのを使用しています無視し、このようになりますテーブルを持っている:INSERT後にPRIMARY KEYのIDを取得したり、
CREATE TABLE IF NOT EXISTS dirnames (dirnameid INTEGER PRIMARY KEY,
dirname TEXT NOT NULL UNIQUE);
CREATE INDEX IF NOT EXISTS dirnames_idx1 ON dirnames(dirnameid);
CREATE INDEX IF NOT EXISTS dirnames_idx2 ON dirnames(dirname);
私は右、任意のディレクトリのdirnameid
を取得したいと思います?
が私のディレクトリ名に置換されている
INSERT or IGNORE INTO dirnames (dirname) VALUE (?)
SELECT dirnameid from dirnames where dirname=?
:今、私はこのようなものをやっています。存在しない -
は、このアクションを行うのsqliteのコマンドが必要になるため、それ以上のこのクエリを最適化する方法はありません。この
ありがとうございました。はい、あなたの擬似コードは、項目がテーブルにない場合は3つのステートメントになります。 Hm。はい。ありがとう! – vy32
コードが並行でない場合は3を使用し、それ以外の場合は2を使用します。コードを正確に実行せず、単に質問に答えた –