当前位置:首页 » 编程语言 » sql插入数据并返回id
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql插入数据并返回id

发布时间: 2022-09-07 19:51:54

㈠ 一个关于sql的问题:用存储过程添加一条数据,但是想返回它的自增量ID

你可以再程序中,使用parameters[0].Direction = ParameterDirection.Output; 来接收SQL给你返回的值,也可以在存储过程中最后添加完那里加入select @@IDENTITY 直接查询最后一个插入的ID值。

㈡ sql insert into 插入记录后返回记录的ID

可以为B表增加一列,存一个唯一的编号,这样在插入c表的时候用该编号进行关联。
插入完成后再更新为B表的主键即可。

㈢ 如何在sql中插入记录时返回id

用insert触发器
create tigger tigger_name
on id
after insert
--思路就是这样、

㈣ 如何在sql中插入记录时返回id(id为自动增长)

insert into [table] values(null) select SCOPE_IDENTITY()
重点在插入后面的select

㈤ 使用SQLServer2005插入一条数据时返回当前插入数据的ID

在Insert操作后,进行select 操作 select max(id) from Users

㈥ SQL里如何得到批量插入数据后生成的新的ID

直接获取是有难度的,但是可以间接获取,比如先建一张表用来存储这一批数据的批次ID

DECLARE@BATCHIDINT
CREATETABLETBL_BATCH
(
IDintidentity(1,1),
[DESC]varchar(255)
)
--要进行批量插入时,先插入一条数据到TBL_BATCH表中
INSERTINTOTBL_BATCHVALUES'这批数据的作用:XXX'
--获取批次ID
SET@BATCHID=@@IDENTITY
--批量插入数据时将@BATCHID一同插入。注:需要先添加一列BATCHID列。
INSERTINTOXXX
SELECT@BATCHID,XXX,XXX,XXXUNION
SELECT@BATCHID,XXX,XXX,XXX

这样根据@BATCHID就可以查到这批数据的所有自增ID了

㈦ mysql 插入数据后返回主键

你可以看看这里,大致有三种办法:

#方法一是使用last_insert_id
SELECTLAST_INSERT_ID();
#方法二是使用max(id),但是不适用高并发环境下。
方法三是创建一个存储过程,在存储过程中调用先插入再获取最大值的操作
#方法四使用@@identity
select@@IDENTITY
#基本MySQL的学习,可以学习这里。使用MariaDB数据库管理系统。linuxprobe.com/chapter-18.html
#出处:

㈧ SQL插入一个数据时,如何获取ID

试试在insert语句最后加上returning id会在插入后返回插入的这条的id,同理,将id换成别的字段名会返回指定字段的值。如果你是pg数据库的话。

㈨ sql server返回插入记录的ID(多条记录)

你的这个需求好象直接再把记录插入到表2就可以,但我估计你不是这个意思。

比较笨的办法,可以定义一个数组用于记录表1的ID值,或者用个临时表来记录表一新增加的记录ID列表。

insert后,query的指针应该还是停留在最新增加的记录上的,因此是可以取得到ID值的。

代码如下,假设表一只有二个字段,一个是ID(自动增量),一个是字段A(字符型),

var
sql:string;
id1:integer;
begin
sql:='insert into 表一 ('''+字段A+''') values ('''+ '内容'+''')';
query1.close;
query1.sql.clear;
query1.sql.add(sql);
query1.Execsql;
id1:=query1.fieldbyname('id').asinteger;
//接下来可以把ID1的值写入临时表或者数组了,如果是需要不同的机器取得ID值,可以用临时表,不过速度会慢些,如果只是本机取得,就用数组好了。
//后面的代码略
...
...

end;

上述代码我没有条件试,应该可以,另外还可以用append的方法追加记录,这样就一定可以用上面的方法取到ID值了。

var
id1:integer;
begin
query1.append;
query1.fieldbyname('字段A').asstring = '内容';
query1.post;
id1:=query1.fieldbyname('ID').asinteger;
//这种方法一定可以取得到ID值。
//后面你自行对取得的ID进行存储就行了,临时表或者数组都可以。代码略
end;