所以我在一個數據庫(表1和表2)中有2個表。我想要做的是從第一個表(Table1)獲取最後生成的ID(它是主鍵)並將其添加到另一個表(Table2)。獲取最後生成的id asp.net
例如。最後一個從Table1生成的ID,列NRRENDOR是25(我已經刪除了行,這就是爲什麼它顯示22,它是主鍵)。如果我向Table1添加一行,它將在列NRRENDOR(第一張圖片)上生成數字26。但是當數字26被添加到來自表1的列NRRENDOR時,我希望它被添加到表2列NRD(第二圖)。
所以我在一個數據庫(表1和表2)中有2個表。我想要做的是從第一個表(Table1)獲取最後生成的ID(它是主鍵)並將其添加到另一個表(Table2)。獲取最後生成的id asp.net
例如。最後一個從Table1生成的ID,列NRRENDOR是25(我已經刪除了行,這就是爲什麼它顯示22,它是主鍵)。如果我向Table1添加一行,它將在列NRRENDOR(第一張圖片)上生成數字26。但是當數字26被添加到來自表1的列NRRENDOR時,我希望它被添加到表2列NRD(第二圖)。
將新元素插入到第一個表後,應該使用如下所示的sql查詢。
Insert into table2 (id) values(Select top 1 ID from table1 order by id desc)
這應該在sql-server 2008和更新版本中工作。
NRRENDOR ID自動識別「[NRRENDOR] INT IDENTITY(1,1)NOT NULL」,因此它會自動遞增。我試着用SCOPE_IDENTITY() – aldoblack
從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查詢使用它。
NRRENDOR ID自動識別「[NRRENDOR] INT IDENTITY(1,1)NOT NULL」,所以它自動增加自身。我試着用SCOPE_IDENTITY() – aldoblack
SCOPE_IDENTITY()用於MSSQL而不是MySQL,但解決方案對於兩者都是相同的。 – vzamanillo
我正在使用MSSQL而不是mysql – aldoblack
你能展示你試過的代碼嗎?你想使用Linq查詢嗎? –
mysql,sql,sql-server,sql-server-2012 ?????????? –
它是asp.net所以它是sql服務器。 @Inanikian儘快進入電腦我會發布代碼。 – aldoblack