Une table SQL Server peut-elle avoir deux colonnes d'identité ?
De nombreux concepteurs de bases de données rencontrent le besoin d'avoir plusieurs colonnes dans une table qui s'auto- incrément, que ce soit pour la clé primaire ou à d'autres fins. Cependant, dans SQL Server, cela n'est pas directement possible. Selon la documentation de référence Transact-SQL :
Une seule colonne d'identité peut être créée par table.
Exemple :
Considérez l'instruction SQL suivante , qui tente de créer une table avec deux colonnes d'identité :
CREATE TABLE [dbo].[Foo]( [FooId] [int] IDENTITY(1,1) NOT NULL, [BarId] [int] IDENTITY(1,1) NOT NULL )
Cette instruction échouera avec ce qui suit erreur :
Msg 2744, Level 16, State 2, Line 1 Multiple identity columns specified for table 'Foo'. Only one identity column per table is allowed.
Solutions alternatives :
Si vous devez avoir plusieurs valeurs à incrémentation automatique dans un tableau, envisagez les solutions alternatives suivantes :
Bien que SQL Server ne prenne pas en charge nativement plusieurs colonnes d'identité, ces solutions alternatives peuvent fournir les fonctionnalités dont vous avez besoin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!