我正在使用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)
是否有更好(更技术准确)的方式来编写这个脚本?
使用last_insert_rowid
功能:
SELECT last_insert_rowid();