Ich habe eine SQL-Datei von mysqldump eine Datenbank letzten Monat. Nun sind alle Tabellen in der Datenbank sind, eine zusätzliche Spalte hinzugefügt, sagen:mysql: Spalten Standardwerte für den Einsatz setzen
country varchar(20) not null.
wie die Dump-Datei in die Datenbank mit Land „US“ gesetzt importieren? Die Datenbank enthält Daten aus anderen Ländern, sodass die Datenbank nicht gelöscht und neu erstellt werden kann.
manuell brauche ich zwei Dinge auf die Deponie SQL-Datei zu tun:
1. remove all create table statements,
2. add country("US") to all insert statements.
Aber die SQL-Dump-Datei ist sehr groß. Gibt es einen guten Weg, dies zu erreichen? Danke.
Die abgeladen Datei enthält nicht die Spalte 'country', nicht wahr? Und Sie möchten in allen Tabellen mit dem Wert "US" die Spalte "country" hinzufügen? Habe ich recht? – 1000111
Der sauberste Weg, dies zu tun, könnte ein Standardwert für die 'country'-Spalte sein, aber dies würde erfordern, dass Sie eine 'ALTER TABLE'-Anweisung ausgeben können, und dass der Wert' US' für alle wünschenswert ist. –
Ich würde die N Tabellen finden, die damit verwandt sind, kopieren Sie den Speicherauszug in einen anderen Dateinamen. Verändern Sie die Tabellennamen mit einem find-and-replace-all zu neuen Tabellennamen für diese N. Beachten Sie, dass dies neue Tabellennamen sind. Führen Sie das Skript aus. Jetzt hat Ihre Datenbank N neue Tabellen, die nur US sind. Vorgehen. Fahren Sie fort mit der Bedeutung, was Sie danach tun wollten (wie zum Beispiel ein Einfügen in die anderen Tabellen? Mit US als Literal auf der Einfügung?) – Drew