219 votes

Comment faire pour changer la colonne type de données dans la base de données SQL Server sans perte de données

J’ai la base de données SQL Server et je viens de réaliser que je peux changer le type de l’une des colonnes de à . Comment puis-je faire sans perdre les données déjà entrées dans cette table ?

PS. j’utilise SQL Server serveur 2008.

361voto

marc_s Points 321990

Vous pouvez facilement le faire en utilisant la commande suivante. N'importe quelle valeur de 0 sera transformé en un 0 (BIT = false), tout le reste sera transformé en 1 (BIT = true).

ALTER TABLE dbo.YourTable
   ALTER COLUMN YourColumnName BIT

L'autre option serait de créer une nouvelle colonne de type BIT, le remplir de l'ancienne colonne, et une fois que vous avez terminé, la chute de l'ancienne colonne et renommer le nouveau à l'ancien nom. De cette façon, si quelque chose lors de la conversion se passe mal, vous pouvez toujours revenir en arrière car vous avez encore toutes les données..

8voto

Philippe Leybaert Points 62715

Pourquoi pensez-vous que vous allez perdre des données ? Allez dans Management Studio et changer le type de données. Si la valeur existante peut être convertie en bool (bit), il le fera. En d’autres termes, si « 1 » correspond à true et « 0 » correspond à false dans votre champ d’origine, vous serez très bien.

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