Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann das Hinzufügen von max (Wert) + 1 in einer neuen Zeile ein Problem sein?

Warum sollten Sie eine benutzerdefinierte Identity verwenden? Feld, wenn es doch so ein tolles schon in SQL Server gibt?

Verwenden Sie einfach INT Identity (1,1) für Ihr ID-Feld und wird jedes Mal automatisch erhöht, wenn eine Zeile eingefügt wird. Es handhabt auch Parallelität viel besser als so ziemlich alles, was Sie manuell implementieren könnten.

BEARBEITEN:

Beispiel für einen manuellen ID-Wert:

SET IDENTITY_INSERT MyTable ON

INSERT INTO MyTable (IdField, Col1, Col2, Col3,...)
VALUES
(1234, 'Col1', 'Col2', 'Col3',...)

SET IDENTITY_INSERT MyTable OFF

Sie müssen eine explizite Feldliste für INSERT einfügen .