Ich benutze MySQL. Ich habe eine Tabelle namens EMP, und jetzt muss ich eine weitere Tabelle (EMP_TWO) mit demselben Schema, denselben Spalten und denselben Einschränkungen erstellen. Wie kann ich das machen?
Ich benutze MySQL. Ich habe eine Tabelle namens EMP, und jetzt muss ich eine weitere Tabelle (EMP_TWO) mit demselben Schema, denselben Spalten und denselben Einschränkungen erstellen. Wie kann ich das machen?
Antworten:
Um eine neue Tabelle basierend auf einer anderen Tabellenstruktur / -beschränkungen zu erstellen, verwenden Sie:
CREATE TABLE new_table LIKE old_table;
Verwenden Sie zum Kopieren die Daten bei Bedarf
INSERT INTO new_table SELECT * FROM old_table;
Erstellen Sie Tabellendokumente
Beachten Sie die Hinweise zur Option LIKE:
Verwenden Sie LIKE, um eine leere Tabelle basierend auf der Definition einer anderen Tabelle zu erstellen, einschließlich aller in der Originaltabelle definierten Spaltenattribute und Indizes:
CREATE TABLE new_table LIKE original_table; Die Kopie wird mit derselben Version des Tabellenspeicherformats wie die Originaltabelle erstellt. Das SELECT-Privileg ist für die ursprüngliche Tabelle erforderlich.
LIKE funktioniert nur für Basistabellen, nicht für Ansichten.
TABELLE ERSTELLEN ... LIKE behält keine Tabellenoptionen für DATA DIRECTORY oder INDEX DIRECTORY bei, die für die ursprüngliche Tabelle angegeben wurden, oder Fremdschlüsseldefinitionen.
LIKEin einer CREATEAnweisung verwenden können.
CREATE TABLE new_db.new_table LIKE old_db.old_table:)
Warum gehst du nicht so?
CREATE TABLE new_table LIKE Select * from Old_Table;
oder Sie können gehen, indem Sie Daten wie folgt filtern
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
Um die gleiche Einschränkung in Ihrer neuen Tabelle zu haben, müssen Sie zuerst ein Schema erstellen und dann Daten für die Schemaerstellung abrufen
CREATE TABLE new_table LIKE Some_other_Table;
likeund select *in einer Anweisung zu verwenden? Ich bekomme einen Fehler. Bitte überprüfen Sie auch diese Antwort stackoverflow.com/questions/10147565/create-table-like-a1-as-a2