我正在使用SQLite,並且我有一個屬性表和一個子屬性表。每個子屬性使用fkPropertyId列指向其父項。眼下,創建初始數據庫,我有一個腳本,看起來像這樣:如何訪問SQL腳本中最後插入的行ID?
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)
有沒有更好的技術上更準確的方法來寫這個腳本?
如何保持連續三次插入的值? – 2009-11-30 20:19:42
只需先插入屬性行,然後再插入子屬性。如果您需要記住多個插入的屬性ID,請在執行子屬性插入之前將其分配給變量。 – 2009-11-30 20:22:55
我的問題是,這是一個sqlite腳本,據我所知,sqlite不支持腳本中的用戶變量 – 2009-11-30 20:32:43