globe: kleine SQL Frage

Beitrag lesen

n'abend,

ich will zwischen zwei Tabellen Datensätze verschieben, soweit kein Problem.

verschieben? oder kopieren? willst du "verschieben" musst du in der ersten tabelle den datensatz nach dem kopieren halt noch löschen...

INSERT INTO x SELECT * FROM y WHERE indexnr=1
zum Beispiel

Gibt es eine Möglichkeit alle Felder zu selektieren, bis auf den Primärschlüssel indexnr, ohne alle Felder einzeln anzugeben?

INSERT INTO x SELECT column1, column2, colum3 FROM y WHERE indexnr=1
müsste doch eigentlich auch tun? (ungetestet)

ansonsten bleibt dir auch ein REPLACE INTO:
REPLACE INTO x SELECT * FROM y WHERE indexnr=1
ist der datensatz (durch primary key identifiziert) schon vorhanden, wird er mit den neuen werten überschrieben... ist der noch nicht vorhanden, wird er angelegt..

im ersten fall passiert also ein DELETE + INSERT, im 2. fall ein INSERT

weiterhin schönen abend...

--
wer braucht schon großbuchstaben?