Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Ajouter max(value)+1 dans une nouvelle ligne, cela peut-il être un problème ?

Pourquoi utiliseriez-vous une Identity personnalisée ? alors qu'il y en a déjà un si bon dans SQL Server ?

Utilisez simplement INT Identity (1,1) pour votre champ ID et il s'incrémentera automatiquement chaque fois qu'une ligne est insérée. Il gère également la simultanéité bien mieux que pratiquement tout ce que vous pourriez implémenter manuellement.

MODIF :

Exemple de valeur d'ID manuelle :

SET IDENTITY_INSERT MyTable ON

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

SET IDENTITY_INSERT MyTable OFF

Vous devez inclure une liste de champs explicite pour le INSERT .