J'ai une table, qui a une colonne (orderid), que son identité est définie sur True. Maintenant je voudrais le mettre hors tension. Comment puis-je faire cela avec Alter colonne? Quelque chose comme ça?
3 Réponses :
Une fois que la colonne d'identité est définie Vous devez probablement laisser tomber la colonne en copiant d'abord les données dans une autre colonne ( qui n'a pas l'identité em>). Donc, ce serait comme ajouter une nouvelle colonne
à votre table et copiez les valeurs de votre colonne d'identité existante. Puis déposez l'ancienne colonne ( ayant une identité em>) et enfin renommer la nouvelle colonne sur le nom de la colonne ancien. P>
Veuillez noter que vous pouvez réellement modifier la colonne d'identité à l'aide de «conception» (cliquez avec le bouton droit de la souris sur la table dans SSMS) et en ouvrant le panneau 'Propriétés de la colonne'.
@Fraaukje bien, genre de. Cela nécessite que la permission de déposer et de recréer la table, car elle va le faire. Donc, vous perdrez des données qui se trouvaient dans la table.
Vous devez utiliser ensemble identity_insert sur ON. Si vous le définissez comme indiqué, vous devez passer explicitement des valeurs à la colonne ID.
Pourquoi devriez-vous éteindre l'identité? Peut-être que vous essayez de passer des valeurs explicites. P>
Veuillez référer la démo de l'échantillon ici. P>
-- Create tool table. CREATE TABLE dbo.Tool ( ID INT IDENTITY NOT NULL PRIMARY KEY, NAME VARCHAR(40) NOT NULL ); GO -- Inserting values into products table. INSERT INTO dbo.Tool (NAME) VALUES ('Screwdriver'), ('Hammer'), ('Saw'), ('Shovel'); GO -- Create a gap in the identity values. DELETE dbo.Tool WHERE NAME = 'Saw'; GO SELECT * FROM dbo.Tool; GO -- Try to insert an explicit ID value of 3; -- should return a warning. INSERT INTO dbo.Tool (ID, NAME) VALUES (3, 'Garden shovel'); GO -- SET IDENTITY_INSERT to ON. SET IDENTITY_INSERT dbo.Tool ON; GO -- Try to insert an explicit ID value of 3. INSERT INTO dbo.Tool (ID, NAME) VALUES (3, 'Garden shovel'); GO SELECT * FROM dbo.Tool; GO -- Drop products table. DROP TABLE dbo.Tool; GO
Vous pouvez le faire en 4 étapes p>
Il suffit de quitter ici les références, car je la cherchais: docs.microsoft.com/en-us/sql/t-sql/statifs/...