SQL - jak zkopírovat řádek do insertu v SQL tabulce jednoduše

Co nejvíce stručné řešení pro vývojáře a linux administrátory

Na superuser.cz nenaleznete žádný zbytečný obsah, vždy se jde přímo k věci, denně se zde objevují nové problémy a jejich řešení...

Začít používat

SQL - jak zkopírovat řádek do insertu v…

01.09.2018 napsal Jáchym

Vyřešeno
Dobrý den, lze nějak jednoduše provést zkopírování nějakého řádku v SQL tabulce tak, že bych nemusel specifikovat všechny hodnoty (values)? Nyní to dělám právě pomocí SQL poddotazu (subquery), kde ty všechny values musím vyjmenovat a to je moc dlouhé. Díky za radu

Zobrazit odpovědi

Nejlépe hodnocení uživatelé
Hanz

Počet UP: 5096

React: 215

Rusty

Počet UP: 2354

React: 100

OL3G

Počet UP: 1638

React: 60

SYSTEM

Počet UP: 440

React: 23

Strosmajer

Počet UP: 496

React: 23

Oxytocin

Počet UP: 298

React: 18

Hyacint

Počet UP: 40

React: 14

RE: SQL - jak zkopírovat řádek do…

02.09.2018 odpověděl Hanz

Zkontrolováno

Dobrý den,

ano, zkopírování všech hodnot z nějakého řádku v SQL tabulce do následného INSERTu lze vyřešit pomocí dočasné tabulky (TEMPORARY TABLE), tím nemusíte ty hodnoty (VALUES) specifikovat. V tomto přikladu máte tabulku "tabulka" a chcete zkopírovat (INSERTovat) záznam s id = 7 do stejné tabulky:


CREATE TEMPORARY TABLE docasna_tabulka SELECT * FROM tabulka WHERE id = 7;
UPDATE docasna_tabulka SET id = NULL;
INSERT INTO tabulka SELECT * FROM docasna_tabulka;
DROP TEMPORARY TABLE IF EXISTS docasna_tabulka;


Stejný dotaz už zde byl jednou řešen: phpMyAdmin kopírování do tabulek - duplicate entry

Další možnost


SELECT * 
INTO tabulka2
FROM tabulka1; 
Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace