2014-04-16 33 views
0

所以我在一個數據庫(表1和表2)中有2個表。我想要做的是從第一個表(Table1)獲取最後生成的ID(它是主鍵)並將其添加到另一個表(Table2)。獲取最後生成的id asp.net

enter image description here

enter image description here

例如。最後一個從Table1生成的ID,列NRRENDOR是25(我已經刪除了行,這就是爲什麼它顯示22,它是主鍵)。如果我向Table1添加一行,它將在列NRRENDOR(第一張圖片)上生成數字26。但是當數字26被添加到來自表1的列NRRENDOR時,我希望它被添加到表2列NRD(第二圖)。

+0

你能展示你試過的代碼嗎?你想使用Linq查詢嗎? –

+1

mysql,sql,sql-server,sql-server-2012 ?????????? –

+0

它是asp.net所以它是sql服務器。 @Inanikian儘快進入電腦我會發布代碼。 – aldoblack

回答

0

將新元素插入到第一個表後,應該使用如下所示的sql查詢。

Insert into table2 (id) values(Select top 1 ID from table1 order by id desc) 

這應該在sql-server 2008和更新版本中工作。

+0

NRRENDOR ID自動識別「[NRRENDOR] INT IDENTITY(1,1)NOT NULL」,因此它會自動遞增。我試着用SCOPE_IDENTITY() – aldoblack

0

從MySQL參考手冊,20.6.14.3 How to Get the Unique ID for the Last Inserted Row

INSERT INTO NRRENDOR (auto, field) VALUES(NULL, 'value'); 

通過在第二表中插入NULL

INSERT INTO NRD (id, field) VALUES(LAST_INSERT_ID(), 'value'); 

使用ID生成ID。

或者你可以得到最後插入ID手動插入後立即執行下面的查詢到NRRENDOR

SELECT last_insert_id() 

,然後又在NRD你的第二個INSERT查詢使用它。

+0

NRRENDOR ID自動識別「[NRRENDOR] INT IDENTITY(1,1)NOT NULL」,所以它自動增加自身。我試着用SCOPE_IDENTITY() – aldoblack

+0

SCOPE_IDENTITY()用於MSSQL而不是MySQL,但解決方案對於兩者都是相同的。 – vzamanillo

+0

我正在使用MSSQL而不是mysql – aldoblack