Hallo zusammen,
folgendes ist gegeben: Eine Tabelle (mysql) mit etwa 120 Spalten. Diese besitzt einen primary key mit autoincrement und einigen foreign keys auf andere Tabellen. Nun möchte ich in meiner Java-Applikation ermöglichen, diesen Datensatz in identischer Form erneut anzulegen, nur mit einer anderen id (autoincrement).
Nun habe ich ja grundsätzlich 2 Optionen. Entweder lege ich in Java ein neues Domain-Objekt an, weise die entsprechenden werte zu (ggfls über BeanUtils.copyProperties), dann einige Nachbesserungen in den Settern (2 felder unterscheiden sich beim neu anlegen) und saven des Objektes, was vermutlich der elegantere Weg wäre, oder
über einen SQL befehl diesen Datensatz kopieren. Da bin ich auf folgenden Befehl gestoßen:
INSERT INTO TABELLENNAME (SpalteX, SpalteY) SELECT SpalteX, SpalteY FROM TABELLENNAME WHERE ID = " + id
Da ich jedoch nicht 120 Spalten angeben möchte, hab ich mich gefragt, ob ich in MYSQL etwas wie "Alle Spalten bis auf xyz" angeben kann, jedoch würde mich zunächst interessieren, was ihr generell für den besseren Weg haltet und warum. Oder ob ich gar einen ganz anderen Lösungsweg vorgehen sollte.
Grüße,
jambusa
folgendes ist gegeben: Eine Tabelle (mysql) mit etwa 120 Spalten. Diese besitzt einen primary key mit autoincrement und einigen foreign keys auf andere Tabellen. Nun möchte ich in meiner Java-Applikation ermöglichen, diesen Datensatz in identischer Form erneut anzulegen, nur mit einer anderen id (autoincrement).
Nun habe ich ja grundsätzlich 2 Optionen. Entweder lege ich in Java ein neues Domain-Objekt an, weise die entsprechenden werte zu (ggfls über BeanUtils.copyProperties), dann einige Nachbesserungen in den Settern (2 felder unterscheiden sich beim neu anlegen) und saven des Objektes, was vermutlich der elegantere Weg wäre, oder
über einen SQL befehl diesen Datensatz kopieren. Da bin ich auf folgenden Befehl gestoßen:
INSERT INTO TABELLENNAME (SpalteX, SpalteY) SELECT SpalteX, SpalteY FROM TABELLENNAME WHERE ID = " + id
Da ich jedoch nicht 120 Spalten angeben möchte, hab ich mich gefragt, ob ich in MYSQL etwas wie "Alle Spalten bis auf xyz" angeben kann, jedoch würde mich zunächst interessieren, was ihr generell für den besseren Weg haltet und warum. Oder ob ich gar einen ganz anderen Lösungsweg vorgehen sollte.
Grüße,
jambusa