我有一个自动增量索引的数据库。当我在表格中插入一个新项目时,我不知道索引号。有没有办法同时返回我物品的新索引?SQL:插入表并返回新索引?
我可以假设新的索引是= max-index + 1
。有没有一些标准的方法来解决这个问题?
感谢您的帮助。
我有一个自动增量索引的数据库。当我在表格中插入一个新项目时,我不知道索引号。有没有办法同时返回我物品的新索引?SQL:插入表并返回新索引?
我可以假设新的索引是= max-index + 1
。有没有一些标准的方法来解决这个问题?
感谢您的帮助。
对于MySQL,你可以使用LAST_INSERT_ID()
功能,像这样:
INSERT INTO tbl (auto,text) VALUES(NULL,'text');
SELECT LAST_INSERT_ID();
thanx mate。 – 2014-09-19 10:08:42
在MSSQL中使用@@IDENTITY
。 例如INSERT INTO [TaTAble] (testchamps) VALUES (tesvaleurs); SELECT @@IDENTITY as [index];
...当触发器执行其他插入操作时不能传递预期结果。在这种情况下,您将获得触发器创建的行的自动标识。 *如果你想这样做,至少使用SCOPE_IDENTITY。 *如果*您认为SQL-Server查看“INSERT ... OUTPUT”以获得您想要的内容。但是,如果不知道确切的数据库管理系统,就不能回答这个问题。它的工作原理如下: – 2014-09-19 08:55:55
您可以将数据插入后使用SCOPE_IDENTITY()如果您使用MS SQL SERVER
例子:
declare @new_id int
insert into test_table(col1,col2) values(col1_val,col2_val)
set @new_id = SCOPE_IDENTITY()
@new_id
将被插入索引
您使用的是什么DBMS或数据库引擎(如MySQL,PostgreSQL,Microsoft SQL Server)?做你想做什么的方法在它们之间是不同的。 – cynic 2014-09-19 08:49:10
我正在使用MySQL。 – 2014-09-19 09:23:04