当前位置:  开发笔记 > 数据库 > 正文

如何在SQL脚本中访问最后插入的行ID?

如何解决《如何在SQL脚本中访问最后插入的行ID?》经验,为你挑选了1个好方法。

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

是否有更好(更技术准确)的方式来编写这个脚本?



1> Ben S..:

使用last_insert_rowid功能:

SELECT last_insert_rowid();

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有