Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 28. 10. 2006, 17:49:35
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 * |
#2 · Zasláno: 29. 10. 2006, 11:31:53
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; |
||
Časová prodleva: 12 dní
|
|||
JeremyCB Profil |
#3 · Zasláno: 10. 11. 2006, 19:12:25
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 * |
#4 · Zasláno: 10. 11. 2006, 19:29:31
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. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0