我正在使用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