Mittwoch, April 8, 2020

Varchar, eNum

Ich würde gerne konvertieren einer Spalte in mysql aus varchar, enum. Wenn mein neuer enum-Werte sind die Werte, verliere ich die vorhandenen Werte in der betreffenden Spalte?

  • Mit Fragen wie diese, die einfachste Antwort ist, zu versuchen und finden Sie heraus. Dies können Sie über eine Sicherungskopie der Tabelle zu vermeiden, die das Potenzial für Datenverlust.
  • Wird Sie blind Vertrauen, was Sie hier Lesen und riskieren den Verlust der Daten?
  • Erlauben Sie mir zu widersprechen, meine follow-Programmierer. Ich glaube, dass trivial, aber die interessante Fragen haben, einen Raum ALSO nicht.
InformationsquelleAutor MonOve | 2011-07-29

2 Kommentare

  1. 16

    Für die copy paste-junkies wie mich, die folgende Ausgabe von der PROZEDUR ANALYSE()

    SELECT status FROM post PROCEDURE ANALYSE()\G
    *************************** 1. row ***************************
                 Field_name: crawling.post.status
                  Min_value: done
                  Max_value: pulled
                 Min_length: 3
                 Max_length: 6
           Empties_or_zeros: 0
                      Nulls: 0
    Avg_value_or_avg_length: 3.7880
                        Std: NULL
          Optimal_fieldtype: ENUM('done','new','pulled') NOT NULL

    Und verwenden Sie den folgenden Befehl zum konvertieren meiner Spalte status enum:

    ALTER TABLE post MODIFY COLUMN status ENUM('done', 'new', 'pulled') DEFAULT 'new';

    Dass es okay ist, überspringen Sie die STANDARDEINSTELLUNG „neu“.

Kostenlose Online-Tests