如何在INSERT上获取下一个ID?

Bet*_*ide 5 sql-server-2008 sql-insert

我想确保为表上的每个插入增加ID列.

我试过这句话:

INSERT INTO Anlagenteil (ID, TaId, Subtype, Name)
VALUES                  (MAX(ID)+1, 0, 'BdAnlageteil', 'Barcodeleser0');
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到此错误消息:

Msg 207, Level 16, State 1, Line 1
Invalid column name 'ID'.
Run Code Online (Sandbox Code Playgroud)

him*_*056 10

使用嵌套查询,如下所示:

INSERT INTO Anlagenteil (ID, TaId, Subtype, Name)
VALUES ((SELECT ISNULL(MAX(ID) + 1, 1) FROM Anlagenteil), 0, 'BdAnlageteil', 'Barcodeleser0');
Run Code Online (Sandbox Code Playgroud)