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
--思路就是這樣、