Autor Zpráva
o_O
Profil
Dobrý den,

mám prostý dotaz. Lze nějak v MySQL přesunout z jedné tabulky do druhé (identické) řádky a v původní je smazat? Mám na mysli jeden příkaz, který nahradí tyto 2:

INSERT INTO table2 SELECT * FROM table1 WHERE id IN (...)
DELETE FROM table1 WHERE id IN (...)

Mám 2 identické tabulky (jiný název, ale stejné pojmenované i nastavené sloupce). Z první tabulky chci řádky přesunout do druhé, přičemž v první již nesmí existovat.

Předem díky.
motik
Profil
o_O:
no mělo by to jít pomocí triggeru
o_O
Profil
motik:
Díky, zkusím.


Uhm, dodatek. Potřeboval bych u table2 vytvořit sloupec, který v table1 není a nebude. Šel by pak nějak jednoduše zapsat SQL příkaz?
motik
Profil
o_O:
Potřeboval bych u table2 vytvořit sloupec, který v table1 není a nebude.

before delete - Záleží, co to bude za sloupec. Pokud by to bylo jen datum, čas - tak by mělo stačit upravit ten trigger.

after insert - Mít vkládací dotaz a jakmile se vloží ten řádek, tak smazat pomocí triggeru řádek v původní tabulce.
o_O
Profil
motik:
Jde mi o jednoduchost 1. příkazu v [#1]. Pokud bych do druhé tabulky přidal sloupec, který by v první nebyl, hlásilo by to chybu v počtu sloupců. Triggery chápu, v tom problém není.
Kajman_
Profil *
o_O:
hlásilo by to chybu v počtu sloupců

INSERT INTO table2 (seznam, sloupcu) SELECT seznam, sloupcu FROM table1 WHERE id IN (...)
o_O
Profil
Kajman:
Díky. Řeší to sice můj problém, ale ne moji lenost. :-)
Mimochodem existuje na Vás nějaké spojení? V profilu vyplněn není.


Díky Vám oboum, pánové.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0