-
En raison des besoins de l'entreprise, je dois modifier le type de données d'un certain champ de number(5) à number(5,2).
S'il n'y a pas de données, utilisez simplement l'instruction suivante
modifier la table tb_test modifier le nombre de milles (5,2);
Mais si vous disposez de données, vous ne pouvez pas utiliser la méthode ci-dessus.
modifier la table tb_test ajouter le numéro permile_temp (5,2)
mettre à jour tb_test set permile_temp=permile ;
modifier le permile de colonne de suppression de table ;
modifier le test de la table, renommer la colonne permile_temp en permile ;
Cette méthode entraînera une modification des noms de colonnes et l'augmentation de l'ordre des champs peut entraîner une migration de lignes, ce qui aura un impact sur l'application.
La méthode suivante est une meilleure méthode
Il n'est pas nécessaire de modifier les noms des colonnes et aucune migration de table n'aura lieu, mais cela présente l'inconvénient que la table doit être mise à jour deux fois.
Si la quantité de données est importante, davantage d'annulations et de rétablissements seront générés, et la condition préalable est d'arrêter la machine.
S'il n'y a pas de temps d'arrêt, vous pouvez également utiliser la redéfinition en ligne.
Voici le scénario :
modifier la table tb_test ajouter le numéro permile_temp ;
Ajouter/modifier des colonnes
modifier la table tb_test modifier PERMILE null ;
mettre à jour tb_test set permile_temp=permile,permile=null ;
commettre;
modifier la table tb_test modifier le nombre de milles (5,2);
mettre à jour tb_test set permile=permile_temp,permile_temp=null ;
commettre;
modifier la table tb_test supprimer la colonne permile_temp ;
modifier la table tb_test modifier PERMILE non nul ;
sélectionnez * dans tb_test ;
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/luinstein/archive/2009/12/21/5049010.aspx.