A. sql插入一个数据时,如何获取ID
试试在insert语句最后加上returning id会在插入后返回插入的这条的id,同理,将id换成别的字段名会返回指定字段的值。如果你是pg数据库的话。
B. SQL关于select @@indentity返回刚插入行ID
@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select @@identity得到的值就是101。使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。
你的表里面有自增的列么???
C. 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;
D. 使用SQLServer2005插入一条数据时返回当前插入数据的ID
在Insert操作后,进行select 操作 select max(id) from Users
E. 如何在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)
F. MSSQL,如果存在则返回ID,不存在就插入一条并返回新插入行的ID,谢谢!
创建测试表
createtabletest
(idint,
priceint);
创建存储过程
createprocp_test
(@idint)
as
declare@countint
select@count=count(*)fromtestwhereid=@id
if@count=0
begin
insertintotest(id)values(@id)
select@id
end
else
begin
select@id
end
调用存储过程
declare
@idint
execp_test5--这个5就是比如你要输入的那个id
结果你就自己验证吧,我这没问题了
G. 如何在sql中插入记录时返回id(id为自动增长)
insert into [table] values(null) select SCOPE_IDENTITY()
重点在插入后面的select
H. sql insert into 插入记录后返回记录的ID
可以为B表增加一列,存一个唯一的编号,这样在插入c表的时候用该编号进行关联。
插入完成后再更新为B表的主键即可。
I. 问,mysql里怎样取得刚插入记录的id
1。MYSQL使用SQL函数LAST_INSERT_ID()获得刚刚插入的AUTO_INCREACE字段的ID值。必须前一SQL为一INSERT语句,如果是其他语句,返回的ID值为零。
2。使用Command对象的时候,注意不能关闭对象后再用SELECT LAST_INSERT_ID()函数,这样获得的ID值同样为零。必须是刚INSERT完,而无新的其他语句,也未关闭该对象,立即使用该函数才可正确获得。范例如下:editQuery = INSERT INTO 表名(。。。列名。。。) VALUES(。。。值名。。。)
J. 如何在sql中插入记录时返回id
用insert触发器
create tigger tigger_name
on id
after insert
--思路就是这样、