SQL:插入表并返回新索引?

时间:2014-09-19 08:47:00

标签: sql indexing

我有一个带自动增量索引的数据库。当我在表中插入新项目时,我不知道索引号。有没有办法同时返回我的项目的新索引?

我可以假设新索引是= max-index + 1。有没有一些标准的解决方法?

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

对于MySQL,您使用LAST_INSERT_ID()函数,如下所示:

INSERT INTO tbl (auto,text) VALUES(NULL,'text');
SELECT LAST_INSERT_ID();

答案 1 :(得分:0)

在MSSQL中使用@@IDENTITY。 例如INSERT INTO [TaTAble] (testchamps) VALUES (tesvaleurs); SELECT @@IDENTITY as [index];

答案 2 :(得分:0)

如果使用MS SQL SERVER,则可以在数据INSERT之后使用SCOPE_IDENTITY()

示例:

declare @new_id int

insert into test_table(col1,col2) values(col1_val,col2_val)
set @new_id = SCOPE_IDENTITY()

@new_id将插入索引

答案 3 :(得分:0)

在SQL中,您还可以使用.d.ts,与上述解决方案相比,在通过python或julia脚本通过OUTPUT INSERTED进行查询时,它也可以工作。

ODBC