heinetz: Datensätze duplizieren

Beitrag lesen

Hallo Forum,

ich möchte Datensätze duplizieren ...

Zuerst mal einen Datensatz mit der id=x innerhalb der Tabelle table_a.

Das dürfte ja (eigentlich) so gehen:


INSERT INTO table_a SELECT * FROM table_a WHERE id=x

Wenn die id nicht der primary key wäre. Aber ich könnte das Feld doch aussparen, oder?:


INSERT INTO table_a SELECT alles, ausser, der, id FROM table_a WHERE id=x

Die ID der eingefügten Zeile bekomme ich dann mit:


SELECT last_insert_id() FROM table_a;

(ich nenne sie mal $new_id)

Nun gibt es aber eine weitere Tabelle table_b. In der gibt es 0-n Datensätze, die im zweiten Schritt auch kopiert werden sollen, wenn sie die a_id=x haben. Einen primary key gibt es in der table_b nicht. Geht das genauso mit mehreren Datensätzen?


INSERT INTO table_b SELECT alles, ausser, der, a_id, $new_id as a_id FROM table_b WHERE id=x

gruss, heinetz