[MYSQL] Tabellenreihe kopieren/duplizieren

traffic

Well-known member
5 Mai 2006
675
25
Hallo,

ich würde gerne von einer mysqltabelle eine ganze Reihe kopieren/duplizieren, also zum beispiele die Reihe mit der ID 22 oder so.
Beispiel:
ich bin in der tabelle abc und möchte die reihe mit der id 22 in die tabelle abc duplizieren, also mit den gleichen werten

Geht das?

Gruß
 
hey,

ich würd sagen, du speicherst die werte erst in variablen, und speicherst sie dann in der anderen Tabelle wieder ein ;)

mfg Raze
 
PHP:
INSERT INTO
  neue_tabelle (
     feld1,
     feld2
  )
SELECT
   alte_tabelle.feld1,
   alte_tabelle.feld2
FROM
   alte_tabelle
WHERE
   alte_tabelle.id = 22
 
Ich bin zwar kein Datenbankfachmann aber ich würd das so machen.
(k.A. obs in SQL ne Fkt. gibt um Primärschlüssel zu generieren)

PHP:
INSERT INTO `abc` (`ID`, `<feldnamen...>`) SELECT Max(ID)+1, `<feldnamen...>` FROM `abc` WHERE ID=247;

BSP:

PHP:
INSERT INTO `abc` (`ID`, `Beschreibung`, `Preis`)
SELECT Max(ID)+1, `Beschreibung`, `Preis` 
FROM `abc`
WHERE ID=247;

Mit Max(ID)+1 generierst einfach nen neuen Primärschlüssel für den Eintrag sofern du da kein Auto-Increment drin hast... wenn dem so ist kannst du afaik die ID ganz weglassen.

HTH
Refi
 
Ich bin zwar kein Datenbankfachmann aber ich würd das so machen.
(k.A. obs in SQL ne Fkt. gibt um Primärschlüssel zu generieren)

PHP:
INSERT INTO `abc` (`ID`, `<feldnamen...>`) SELECT Max(ID)+1, `<feldnamen...>` FROM `abc` WHERE ID=247;

BSP:

PHP:
INSERT INTO `abc` (`ID`, `Beschreibung`, `Preis`)
SELECT Max(ID)+1, `Beschreibung`, `Preis` 
FROM `abc`
WHERE ID=247;

Mit Max(ID)+1 generierst einfach nen neuen Primärschlüssel für den Eintrag sofern du da kein Auto-Increment drin hast... wenn dem so ist kannst du afaik die ID ganz weglassen.

HTH
Refi

vielen dank! hab einfach die id weggelassen wegen auto_increment

nochmals vielen dank!