-
Aus geschäftlichen Gründen muss ich den Datentyp eines bestimmten Felds von Nummer (5) in Nummer (5,2) ändern.
Wenn keine Daten vorhanden sind, verwenden Sie einfach die folgende Anweisung
Tabelle ändern tb_test Permilzahl ändern (5,2);
Wenn Sie jedoch über Daten verfügen, können Sie die oben beschriebene Methode nicht verwenden.
Tabelle tb_test ändern, permile_temp Zahl hinzufügen (5,2)
tb_test aktualisieren set permile_temp=permile;
Tabellen-Drop-Spalten-Permile ändern;
Tabellentest ändern, Spalte permile_temp in permile umbenennen;
Diese Methode führt dazu, dass sich die Spaltennamen ändern, und eine Erhöhung der Feldreihenfolge kann zu einer Zeilenmigration führen, was sich auf die Anwendung auswirkt.
Die folgende Methode ist eine bessere Methode
Es besteht keine Notwendigkeit, die Spaltennamen zu ändern, und es findet keine Tabellenmigration statt. Dies hat jedoch den Nachteil, dass die Tabelle zweimal aktualisiert werden muss.
Wenn die Datenmenge groß ist, werden mehr Rückgängig- und Wiederherstellungsvorgänge generiert, und die Voraussetzung ist das Herunterfahren des Computers.
Wenn es keine Ausfallzeit gibt, können Sie auch die Online-Neudefinition nutzen.
Hier ist das Skript:
Tabelle tb_test ändern, permile_temp-Nummer hinzufügen;
Spalten hinzufügen/ändern
Tabelle ändern tb_test ändern PERMILE null;
update tb_test set permile_temp=permile,permile=null;
begehen;
Tabelle ändern tb_test Permilzahl ändern (5,2);
update tb_test set permile=permile_temp,permile_temp=null;
begehen;
Tabelle tb_test ändern, Spalte löschen permile_temp;
Tabelle tb_test ändern, PERMILE ändern, nicht null;
wähle * aus tb_test;
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/luinstein/archive/2009/12/21/5049010.aspx