我試圖讓最後一個ID插入到表中。 我用Sql服務器 - 如何獲取最後一個ID插入到表
SELECT IDENT_CURRENT('TABLE')
但問題是,它不返回最後插入的ID,它返回的最大插入ID。
例如,如果我這樣做:
INSERT INTO 'TABLA' (ID) VALUES (100)
SELECT IDENT_CURRENT('TABLE') returns 100
但當時如果我做
INSERT INTO 'TABLA' (ID) VALUES (50)
SELECT IDENT_CURRENT('TABLE') returns 100
,我希望得到50
我需要一個特定的表的ID,並我生成的ID是dinamically,所以它不是身份證 我該怎麼辦?
'IDENT_CURRENT'預計會自動增加一列。如果您可以手動插入ID,則您未使用自動增量編號,或者您的自動增量已關閉(使用'SET IDENTITY_INSERT')。 – SchmitzIT
是的,我需要將IDENTITY_INSERT設置爲Off,因爲我需要在插入ID之前生成ID。 –
- 這總是一個壞主意。自動生成的ID應該完全相同。如果您需要手動生成身份證號碼,長遠來看,這會導致行政頭痛。無論如何,這意味着你根本無法依靠IDENT_CURRENT來檢索最後插入的ID。我建議您查看需要您覆蓋自動識別的業務流程。否則請與Phil Sandlers的解決方案一起。 – SchmitzIT