Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Databáze se statistikami - jak ověřit existující prvek a poté vložit

Zdravím,
používám databázi MySql a udržuji si v ní data, podle kterých posléze si vypočítávám statistiky. Každý den se tato data mění a já musím vždy ověřovat:

if (existuje)
{
 nic nevkládat
}
else{
 vlož do databáze
}

a dále znovu projít množinu a najít prvky které v DB jsou, ale nejsou v množině které do DB vkládám - smazat prvky z databáze. Jednoduše řečenu potřebuji mít konzistentní data.

Máte nějaké dobrý typ jak se to řeší, aniž bych pro každý prvek dělal IS EXIST atd. ?

Díky moc

Předmět Autor Datum
Jsi schopny ty prvky mit v nejake tabulce? pak je muzes zpracovat najednou. Tabulka1 - tvoje existuj…
Jan Fiala 20.11.2011 15:24
Jan Fiala
Bohužel ty data tahám z webu přes api. Takže jedině že bych to cpal to tabulky vedle a pak udělal ty… poslední
Petr Ode. 20.11.2011 16:21
Petr Ode.

Jsi schopny ty prvky mit v nejake tabulce? pak je muzes zpracovat najednou.
Tabulka1 - tvoje existujici data, Tabulka2 - nove udaje

mazani:

delete a
  from Tabulka1 a
  left outer join Tabulka2 b on a.ID = b.ID
  where b.ID is null

vkladani:

insert into Tabulka1
  select b.* 
  from Tabulka2 b
  left outer join Tabulka1 a on a.ID = b.ID
  where a.ID is null

aktualizace

update a set a.Hodnota1=b.Hodnota1, a.Hodnota2=b.Hodnota2
  from Tabulka1 a
  join Tabulka2 b on a.ID = b.ID

Zpět do poradny Odpovědět na původní otázku Nahoru