Autor Zpráva
Anonymní
Profil *
Ahoj, existuje nějaká jednoduchá možnost, jak přesunout řádek z jedné tabulky do nového řádku druhé tabulky? V obou tabulkách jsou samozřejmě stejné sloupce.

Příklad: řádek ID 26 chci přesunout z "tabulka1" do"tabulka2"

Určitě to jde krkolomně - jedním dotazem načtu data z tabulky 1, tato načtená data vložím jako nový řádek do tabulky 2 a následně zvolený řádeksmažu z tabulky 1. Ale přijde mi to moc komplikované (3 dotazy na db) na to, aby to nešlo jednodušeji (jedním dotazem). Hledal jsem v českém MySQL manuálu (http://mm.gene.cz/), ale tam nic takového zmíněno není. Děkuji.
Kajman_
Profil *
insert into tabulka2 select * from tabulka1 where id=26;
delete from tabulka2 t2 using tabulka2 t2, tabulka1 t1 where t1.id=26 and t2.id=26;
JeremyCB
Profil
muzu se jeste kaptat kdy provadim insert zkopiruje se me z t1 do t2 ale v t2 mu zustane id z t1 da se to nejak vyresit aby se do t2 pridal a mel posledni+1 id

dekuji
Kajman_
Profil *
Můžete u t2 udělat update na id, kdy k němu přičtete zjištěnou maximální hodnotu. Ale tak můžou být v id mezery, pokud byly v původní tabulce.

Nebo si vytvoříte práznou tabulku, nastavíte si hodnotu pro auto increment. A pak uděláte insert s vyjmenovanými sloupečky a buď id neuvedete nebo tam dáte null.

Ale smazání pak nepůjde tak, jak je výše uvedeno.
Toto téma je uzamčeno. Odpověď nelze zaslat.