Dlančnik (PDA)

Poglejte polno različico : SQL table update


zeriX
24.10.2007, 21:02
Če dam na eni tabeli polni podatkov update, tako da dodam še kak column ali dva, kolikšna je možnost izgube podatkov?

Panco
25.10.2007, 08:04
Če narediš update, se ti zagotovo ne bojo izbrisali podatki. Če narediš delete/drop se ti pa bojo. Varnost lahko podvojiš tako da narediš database dump in si backupiraš svoje podatke (če nisi zadovolen z update-om narediš restore). Katero bazo pa uporabljaš?

Cifra
25.10.2007, 08:08
Če dam na eni tabeli polni podatkov update, tako da dodam še kak column ali dva, kolikšna je možnost izgube podatkov?


SQL update stavek je DML stavek, ki zahteva še ekspliciten commit za zaključek transakcije. Podatki se ti praviloma ne bi smeli izgubit/pokvarit, sicer pa po update-u lahko narediš rollback, če se slučajno prepiše kaj takega, kar nisi želel.

Cvetlični deček
25.10.2007, 12:14
SQL update stavek je DML stavek, ki zahteva še ekspliciten commit za zaključek transakcije. Podatki se ti praviloma ne bi smeli izgubit/pokvarit, sicer pa po update-u lahko narediš rollback, če se slučajno prepiše kaj takega, kar nisi želel.
ka pa veš, mogoče pa njegov db engine ne podpira rollbacka oz transakcij v tem smislu.

sicer pa ne vem kaj je zx mislu s tem, da bi z update naredil še dva stolpca.. a se ne uporablja za to alter, ne update ?

Cifra
25.10.2007, 12:38
ka pa veš, mogoče pa njegov db engine ne podpira rollbacka oz transakcij v tem smislu.

sicer pa ne vem kaj je zx mislu s tem, da bi z update naredil še dva stolpca.. a se ne uporablja za to alter, ne update ?
Ja, točno... alter table je za dodajanje stolpcov. Zdaj še čakamo, da pove, katero bazo uporablja :)

Cvetlični deček
25.10.2007, 12:42
pa mogoče ne bi blo švoh če bi še svoj željeni sql update stavek prilepu, da ga raztrančiramo

zeriX
25.10.2007, 18:03
Sprememba.
Ne bo dodajanje dveh stolpcev ampak zadnja dva moram preimenovat.
V uporabi je pa trenutno SQLite. Gre se pa za programatično upravljanje baze podatkov. (Z tem nimam problema, probleme mi povzročajo bolj SQL ukazi.)
Torej generiram tabelo:
CREATE TABLE IF NOT EXISTS %1 ( Title varchar, Description varchar, Type varchar, Number varchar, Ownership varchar, TimeAdded varchar, Borrowed varchar, Time varchar, Lended varchar, BasePrice varchar, TaxPrice varchar
%1 je parameter imena tabele ki variira oz. se programatično določi, recimo da je ime tabele Janez.
Zdaj bi pa zadnja dva "stolpiča" preimenoval iz BasePrice v ID in TaxPrice v ChildNum.

P.S: gre se za child widget/item in ne za otroka v dobesednem pomenu.

Cvetlični deček
25.10.2007, 22:46
v sqlu ti manjka zaklepaj.

pa mal mi je čudna ideja, da greš za vsako entiteto svojo bazo delat ... jst bi nekak probov to vse v eno tabelo stlačit, da bi s podatki iz enega samega polja instantirov nek razred Oseba (ke bi imel tud lastnost Ime, ki bi blo Janez)

drgač glede unga alter stavka, to men še nkol ni povzročlo izgube podatkov, pa tut slišov nism o tem, ampak ne uporabljam sqlite. Če podpira transakcije je mogoče še kej manjša verjetnost, da se ti pokvarjo podatki, ampak to je pomoje že tok neverjetno de bi te bolj moral hardware skrbet.

sicer pa, saj lahko delaš backup z sql stavki ane, kot je ze panco povedov v svoji prvi objavi...

zeriX
26.10.2007, 13:46
Glede oklepaja sem ga verjetno pozabil ka prekopirat iz kode, ker ta koda dela drugače.

Svojo bazo za vsako entiteto?
Spljoh ne, eno bazo, katero izbere uporabnik, ali je obstoječa, ali nova in potem še tabela in v tabeli je 12 ali koliko že columnov.
Tako da je ena baza in ena tabela, zdaj če ima user v tej bazi še 43634576 drugih tabel me ne briga, program v glavnem uporablja samo eno.