2017-01-03 3 views
-1

Ich möchte eine Sicherungsdatei einiger Tabellen in nur einer einzigen Datei exportieren und sie beim Zurückladen ladbar machen.So exportieren Sie mehrere Tabellen in einer Datei

SELECT * FROM survey_tbl 
    UNION SELECT * FROM answer_tbl 
    UNION SELECT * FROM question_tbl 
    UNION SELECT * FROM dependent_question_tbl 
    UNION SELECT * FROM nest_answer_tbl 
    UNION SELECT * FROM nest_question_tbl 
    INTO OUTFILE '$backupFile' 

Ich habe wählen ein Fehler in der Union, weil sie unterschiedliche Spalten haben, Jede Hilfe ist sehr geschätzt. Vielen Dank im Voraus.

Unten ist der Code, der in einer einzigen Tabelle arbeitet und

SELECT * INTO OUTFILE '$backupFile' FROM $tableName"; 
+0

Selbst wenn die Tabellen die gleiche Anzahl und Art von Spalten hätten, was würde Ihre Sicherungsdatei dann sein, um die Tabellen neu zu erstellen? Wie würdest du mit solch einem Wirrwarr umgehen? (nicht mein Downvote). –

+0

Möglicherweise benötigen Sie andere Tools, oder Sie sollten einen benutzerdefinierten Konverter haben, um Ihre Daten in Text umzuwandeln und sie zurück zu importieren. Kein schneller Weg dafür. – Prisoner

+0

Sie sollten 'mysqldump' zum Exportieren mehrerer Tabellen verwenden. –

Antwort

0

Sie sollten mysqldump für den Export von mehreren Tabellen verwenden Datei.

Dieses Tool wird mit jeder Installation von MySQL geliefert und ist einfach zu bedienen.

Es hat eine Reihe von Optionen. Lesen Sie die Dokumentation: http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html

Von besonderem Interesse ist die Option mysqldump --tab, die im Grunde verwendet SELECT ... INTO OUTFILE genau wie Sie taten, so dass es Daten als flache Dateien anstelle von SQL-Skripten ausgeben. Diese Dateien können schnell mit mysqlimport geladen werden.

+0

es ist wirklich toll, ich weiß, ich habe so viel zu lernen, Danke für den Link. – bdalina

Verwandte Themen