65 votes

Syntaxe pour INSERER dans une table sans valeurs ?

J'ai une table créée avec le schéma suivant :

CREATE TABLE [dbo].[Visualizations]
(
    VisualizationID     int identity (1,1)      NOT NULL
)

Comme la table n'a pas de champs paramétrables, je ne sais pas comment insérer un enregistrement. J'ai essayé :

INSERT INTO [Visualizations];
INSERT INTO [Visualizations] () VALUES ();

Aucun des deux ne fonctionne. Quelle est la syntaxe correcte pour faire cela ?

Edit : Comme un certain nombre de personnes semblent confuses par ma table, elle est utilisée uniquement pour représenter un parent d'un certain nombre de sous-tables... chacune d'entre elles fait référence à cette table par FK et chacun de ces FK est un PK, de sorte que dans toutes ces tables, les ID sont uniques.

104voto

Anton Gogolev Points 59794

Ver ce (exemple "F. Charger les données en utilisant l'option VALEURS PAR DÉFAUT") :

INSERT INTO [Visualizations] DEFAULT VALUES;

0voto

Randy Minder Points 19262

Ce que vous faites ne semble pas avoir beaucoup de sens. Mais vous pourriez essayer de régler IDENTITY_INSERT sur OFF, puis d'insérer quelques valeurs. Lorsque vous avez terminé, mettez IDENTITY_INSERT sur ON.

-3voto

Sophie88 Points 205

Déclencher l'insertion d'identité avec null

insert into
            Visualizations
values
           (null);

-3voto

t0mm13b Points 21031

Peut-être que vous devez ajouter une colonne factice pour faire cela, et juste insérer NULL la colonne fictive permettrait de prendre en compte les NULL. Bien que la structure de votre table n'ait pas de sens, je vous suggère de procéder ainsi pour qu'elle fonctionne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X