sql - Inhalt (bis auf ID) in eine andere Tabelle kopieren, die eine neue ID erstellt

Eli-

Mitglied
Hi,

ich möchte ein paar Daten in eine andere Tabelle einer Datenbank kopieren. Aber die ID aus der alten Tabelle soll nicht in die neue kopiert werden, da die neue eine eigene ID erstellen soll (macht sie ja eigentlich automatisch):

Mein code:
SQL:
INSERT INTO `artikel`
SELECT `titel`, `datum`, `inhalt`, `art`, `teaser` FROM `presaved`
WHERE `id`='$id'

Das geht aber nicht. Liegt es daran, dass ich die 'id' nicht auswähle, und er sie somit mit WHERE nicht findet****

Wenn ja, wie kann man das anders lösen?

Weil ich hab ein Skript das die Daten aus der neuen Tabelle (artikel) ausliest und nach id sortiert.
Das Problem ist, wenn ich mehrere Daten in 'presaved' ablege, und sie komplett in die neue Tabelle kopiere, wird ja die ID mit kopiert. Das kann entweder zu einer doppelten ID führen, oder die Reihenfolge wird verfälscht und das, was ich in die neue Tabelle kopiert habe, kommt nicht an oberster Stelle.

Danke schon mal

LG

EDIT:
Hab das hier gefunden:
http://www.yourhelpcenter.de/2011/02/mysql-datensatz-mit-neuer-id-duplizieren-kopieren/

Aber das funktioniert leider ebenso wenig :(
 
Zuletzt bearbeitet von einem Moderator:
Ich nehme mal an die Tabelle artikel hat auch eine ID Spalte die autoincrement ist.
Aber natürlich willst du die ja nicht abfüllen, also musst du ihm das auch sagen:

SQL:
INSERT INTO `artikel` (titel, datum, inhalt, art, teaser)
SELECT `titel`, `datum`, `inhalt`, `art`, `teaser` FROM `presaved`
WHERE `id`='$id'
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück