Gast: Satz kopieren - MySQL

Hallo,

wenn ich einen Datensatz kopieren möchte, lese ich ihn erst ein und gebe ihn dann per INSERT wieder aus. Ausgenommen die ID und eventuelle Felder, die Doppelkeyfehler verursachen.

Gibt es vielleicht ein SQL-Kommando, das das Gleiche tut?

Ich habe jetzt zusätzlich ein vereinfachtes Formular für die Datenpflege, das nur einige Felder abfragt. Bei einer Kopie sollen aber auch die Felder des alten Datensatzes mitgenommen werden, die im Formular nicht vorkommen.

Gruß, Gast

  1. Hi,

    wenn ich einen Datensatz kopieren möchte, lese ich ihn erst ein und gebe ihn dann per INSERT wieder aus. Ausgenommen die ID und eventuelle Felder, die Doppelkeyfehler verursachen.

    Gibt es vielleicht ein SQL-Kommando, das das Gleiche tut?

    INSERT ... SELECT

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      INSERT ... SELECT

      Habe ich mir angeschaut. Verstehe das so, dass ich alle Felder aufzählen muss. Wenn nachträglich in der Tabelle ein Feld dazukommt, wird das nicht mitkopiert?

      Auch in phpMyAdmin gibt's keine Kopierfunktion - oder habe ich was übersehen?

      Gruß, Gast

      1. Tach!

        INSERT ... SELECT

        Habe ich mir angeschaut. Verstehe das so, dass ich alle Felder aufzählen muss. Wenn nachträglich in der Tabelle ein Feld dazukommt, wird das nicht mitkopiert?

        Richtig. Es gibt kein "abzüglich", mit dem man Felder angeben könnte, die man nicht will. Also muss man all jene angeben, die man will und die anderen weglassen. Wenn was hinzukommt, muss man das berücksichtigen.

        Auch in phpMyAdmin gibt's keine Kopierfunktion - oder habe ich was übersehen?

        Doch. Bei einzelnen Datensätze auf Bearbeiten gehen und dabei gibt es extra stehend ein Speichern oder Einfügen als neuen Satz.

        dedlfix.

  2. Mittels INSERT..SELECT Syntax
    http://dev.mysql.com/doc/refman/5.1/de/insert-select.html