Portál AbcLinuxu, 12. května 2025 17:16

Dotaz: Sqlite3: import za chodu / zmazanie rovnakych zaznamov

vadimo avatar 20.2.2009 19:33 vadimo | skóre: 14 | Liptovský Mikuláš
Sqlite3: import za chodu / zmazanie rovnakych zaznamov
Přečteno: 215×
Odpovědět | Admin

Mám na vas dve otazky ohladne Sqlite3.

1. Mám jeden spusteny script v bashi, ktory stále pracuje s sqlite3 datbazou. Je mozne do nej importovat nove zaznamy z druheho termináloveho okna bez poskodenia databazy?

2. Ako vymazem z datbazy rovnaké záznamy(riadky)?

 

Thx all.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.2.2009 22:44 neaktivni | skóre: 24 | blog: neaktivni
Rozbalit Rozbalit vše Re: Sqlite3: import za chodu / zmazanie rovnakych zaznamov
Odpovědět | | Sbalit | Link | Blokovat | Admin
1. zaleží na tom, kdo kdy kde zapisuje. bylo by vhodné db nějakým způsobem zamykat (info).

2. třeba SELECT DISTINCT * INTO cilova_tabulka FROM zdrovova_tabulka, následně smazání první a přejmenování druhé na původní název; další možnost může být třeba zamezení zápisu stejných řádků pomocí správného unikátního klíče
vadimo avatar 20.2.2009 22:56 vadimo | skóre: 14 | Liptovský Mikuláš
Rozbalit Rozbalit vše Re: Sqlite3: import za chodu / zmazanie rovnakych zaznamov

1. Dakujem, ten locking si zajtra pozriem, ak to funguje podobne ako flock v PHP tak to bude OK (tj, pocka pokial sa subor odmkne).

2. Co sa tyka unikatneho kluca, tak to som moc nepochopil, za link by som bol vdacny.

Inac velmi dakujem za odpoved, aspon sa mozem posunut vpred.

vadimo avatar 20.2.2009 23:07 vadimo | skóre: 14 | Liptovský Mikuláš
Rozbalit Rozbalit vše Re: Sqlite3: import za chodu / zmazanie rovnakych zaznamov

A este jedna dolezita vec, ten prvy bash script z tej databazy iba cita, ten druhy by zapisoval (import z csv). Aj v tomto pripade bude nutne zmykat?

vadimo avatar 20.2.2009 23:51 vadimo | skóre: 14 | Liptovský Mikuláš
Rozbalit Rozbalit vše Re: Sqlite3: import za chodu / zmazanie rovnakych zaznamov

Fajn, takze to zmazanie rovnakych zaznamov funguje, len trosku zmenit syntax, no este pred tym treba este vytvorit tu novu tabulku.

create table newtabulka (prvy, druhy);

insert into newtabulka select distinct * from tabulka;

drop table tabulka;

alter table newtabulka rename to tabulka;

Tazke v tomto poradi by to mohlo fungovat, ale v tomto priapade by to urcite chcelo aj zamykat databazu.
 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.