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

1 odpovědí
01.09.2018 napsal Jáchym dotaz do kategorie programovani 11 / 10

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

Vyřešeno

programovani sql databaze

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

02.09.2018 odpověděl Hanz Superuser
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