私は SQLite を使用しており、プロパティ用のテーブルとサブプロパティ用のテーブルがあります。各サブプロパティは、fkPropertyId 列を使用してその親を指します。現在、初期データベースを作成するために、次のようなスクリプトを用意しています。
INSERT INTO property VALUES(1,.....);
INSERT INTO property VALUES(2,.....);
INSERT INTO property VALUES(3,.....);
INSERT INTO subproperty VALUES(1,.....,3);
INSERT INTO subproperty VALUES(2,.....,3);
INSERT INTO subproperty VALUES(3,.....,3);
INSERT INTO property VALUES(4,.....);
ここで、ハードコーディングされたrowIdを取り除きたいので、次のようになります:
INSERT INTO property VALUES(NULL,.....);
INSERT INTO property VALUES(NULL,.....);
INSERT INTO property VALUES(NULL,.....);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO property VALUES(NULL,.....);
x は、プロパティ テーブルに最後に挿入された rowId を参照します。今のところ、それは
(SELECT MAX(rowId) FROM property)
このスクリプトを作成するためのより良い (そして技術的により正確な) 方法はありますか?