spezielle Tabelleninhalte kopieren in andere Tabelle



  • Hallo zusammen,

    ich möchte spezielle Tabelleninhalte aus einer Tabelle A in eine andere Tabelle B kopieren. Die Auswahl, was kopiert werden soll, geschieht anhand eines bestimmten Feldes (z.B. alle IDs < 1000). Gibt es dafür einen MySQL-Befehl?

    Viele Grüße
    Agamenmon



  • INSERT INTO Tabelle_B
    FROM Tabelle_A
    WHERE ID < 1000
    

    (Eventuell noch die Spaltennamen angeben)



  • Wie verhält es sich dann mit den IDs?
    Die werden doch dann übernommen, oder?

    Ich hätte gerne, dass die Tabelle in die eingefügt wird selbst die IDs vergibt.

    Weiterhin habe ich vor aus mehreren Tabellen in diese eine einzufügen, möchte aber keine doppelten Einträge. Wie mache ich das?



  • INSERT INTO tabelle SELECT spalten FROM tabelle WHERE wasauchimmer.

    Mit dem Query kannst du alles anstellen was du willst.

    Hier ist zu beachten das die Zieltabelle die gleiche Anzahl felder haben muss wie der SELECT zurückliefert.

    Willst du die ID aus der SELECT nicht dann muss du jede einzelne Spalte angeben und die ID auslassen.
    Willst du dann die AUTOIC-ID der Zieltabelle automatisch vergeben lassen dann muss du

    INSERT INTO tabelle SELECT '',spalte1,spalte2,u.s.w. FROM tabelle WHERE wasauchimmer

    angeben.


Anmelden zum Antworten