当前位置:首页 » 编程语言 » sqlinsert返回id

sqlinsert返回id

发布时间: 2022-05-05 07:10:10

Ⅰ mysql 插入数据后返回主键

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

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

Ⅱ oracle数据库,表中有id(自增字段,主键), insert 语句插入一条记录后要求,返回当前插入记录的id値。

sequence就是一个序列,你每次执行 select CASE_SEQ.nextval from al 的时候都会返回唯一的一个ID号,因此你可以先执行这个select取到这个ID,如果这个时候有多个用户在执行这个操作,那么他们select到的ID绝对跟你的不一样(sequence就是保证这一点的)。然后你就可以用这个ID插入记录,然后再返回这个ID就OK了。
代码:
string sql = "Select CASE_SEQ.currval from al";
OracleConnection conn = DB.getCon();
OracleCommand cmd = conn.CreateCommand();
conn.Open();
string returnID = null;
cmd.CommandText = sql;
returnID = Convert.ToString(cmd.ExecuteScalar()); //获取ID
sql = "insert into PATIENT_T(pid,name) values(returnID,'黎明')"; //将ID插入数据库
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
结束了,差不多就是这样,楼主自己调试一下就行了,注意ID在数据库中应该是varcahr类型的

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

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

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

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

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

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

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

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

Ⅶ 如何在insert的同时返回插入记录的id

在ACCESS数据库中,不能用SCOPE_IDENTITY或者 LAST_INSERT_ID(),只能用于SQL数据库中。

还是分两条语句吧。先取最后一ID号再加1就是要返回的ID,用另一语句存入该ID就可以了。

sql="insert into Proctinfo([ProctName],[CateID]) values('"& ProctName&"',"&CateID&")"
set rs_conn=conn.execute("select top 1 id from Proctinfo order by id desc")
sql_conn="insert into ProctConn([ProID],[CateID]) values("&rs_conn("id")+1&"," & CateID&")"
conn.execute(sql)
conn.execute(sql_conn)

Ⅷ 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;

Ⅸ mybatis 做 insert操作的时候 怎么才能返回插入的那条数据的id

1、useGeneratedKeys=”true” 可以获取自增长的ID 只支持具有自增长方式的那种数据库(mysql, mssql 等 但 oracle 就不支持了 ) 所以可以使用selectKey来获取
eg:
<insert id="xxx" parameterType="yyy" useGeneratedKeys="true">
insert into table(...) values (...)
<selectKey resultType="long" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS id
</selectKey>
</insert>123456

2、对于不支持自动生成主键(如Oracle),可以采用以下方式
eg:
<insert id="xxx" parameterType="yyy">
<selectKey keyProperty="id" resultType="long" o

Ⅹ PostgreSQL,insert一条记录,如何返回刚刚插入的这条记录的id。

使用postgresql的returning语句。

insert into ... returning id;可以返回刚插入数据的id

热点内容
电脑怎么选择配置 发布:2025-05-14 10:46:12 浏览:325
电脑怎么不显示手机连接服务器失败 发布:2025-05-14 10:42:28 浏览:9
安卓如何下载lv手游 发布:2025-05-14 10:35:45 浏览:383
pythondict添加key 发布:2025-05-14 10:33:59 浏览:382
柱子箍筋加密区长度 发布:2025-05-14 10:18:29 浏览:352
云服务器和内网穿透哪个好 发布:2025-05-14 10:16:41 浏览:627
安徽新能源网络配置是什么 发布:2025-05-14 10:06:24 浏览:631
pinode搭建服务器 发布:2025-05-14 10:04:23 浏览:4
电脑服务器ip名称 发布:2025-05-14 10:01:09 浏览:749
connectorpython 发布:2025-05-14 09:48:50 浏览:763