1

だから私は画像に関するデータを含むテーブルを持っています。テーブルはこんな感じ…

ROWID|title|description|file_path

ファイル パスには、イメージの名前が含まれています。イメージの名前を ROWID と一致するように変更したいと考えています。

最新の ROWID を取得するにはどうすればよいですか? これを自動インクリメントされた主キーとして使用しているため、削除された行も考慮する必要があります。テーブル内の行が削除された場合、テーブルが次のようになる可能性があるためです...

1|title A|description A|..\fileA.jpg
2|title B|description B|..\fileB.jpg
5|title E|description E|..\fileE.jpg
7|title G|description G|..\fileG.jpg

その上、削除された行が 1 つ以上ある可能性があるため、次の ROWID は私の知る限り 10 になる可能性があります。

また、新しいテーブル、またはすべてのデータが削除され、次の ROWID が 1000 になる可能性があるテーブルを考慮する必要があります。

要約すると、本当の問題は次のとおりだと思います。次の ROWID が何であるかを調べる方法はありますか?

4

4 に答える 4

3

主キー フィールドに AUTOINCREMENT を指定し、テーブルが空でない場合、このクエリはテーブル MY_TABLE の最新の ROWID を返します。

SELECT seq
FROM sqlite_sequence 
WHERE name = 'MY_TABLE'
于 2013-10-28T17:57:53.880 に答える
0

last_insert_rowidはあなたが望むものだと思います、通常。

autoincrement フラグによって、ROWID の動作が異なることに注意してください。ただし、これは通常、小規模なユース ケースには影響しません。

于 2014-02-15T12:55:11.977 に答える