web-dev-qa-db-fra.com

Comment insérer dans une table avec une seule colonne IDENTITY?

(Est venu avec cette question en essayant de répondre cette autre )

Considérez la table MS-SQL suivante, appelée GroupTable:

 GroupID 
 ------- 
 1 
 2 
 3 

où GroupID est la clé primaire et est une colonne d'identité.

Comment insérer une nouvelle ligne dans la table (et donc générer un nouvel ID) sans en utilisant IDENTITY_INSERT ON?

Notez que ceci:

INSERT INTO GroupTable() Values ()   

... ne fonctionnera pas.

edit: nous parlons ici de SQL 2005 ou SQL 2008.

80
codeulike

Cela devrait fonctionner:

INSERT INTO GroupTable DEFAULT VALUES 
123
DJ.

Voici:

INSERT INTO GroupTable DEFAULT VALUES
17
tofi9

Il est possible d'insérer plusieurs lignes à la fois.

Par exemple, pour insérer 30 lignes. INSÉRER DANS LA TABLE DE GROUPE LES VALEURS PAR DÉFAUT GO 30

Cela insérera 30 lignes en incrémentant la colonne d'identité à chaque fois.

3
RMK

Pouvez-vous essayer d'utiliser une séquence ou quelque chose de similaire? Où vous sélectionnez dans une séquence et cela vous donnera la valeur suivante dans la séquence.

0
Mike Pone