Mysql i liczniki
*ryspek* - 04-02-2006 14:52
Mysql i liczniki
Tabele MySQL mogą mieć tylko jedno pole AUTO_INCREMENT. Jak, w takim razie, zrealizować dodatkowy, niezależny, inkrementowany licznik, czy tworzyć własną, dodatkową tabelę przechowującą aktualną wartość licznika, czy jest jakiś standardowy mechanizm MySQL pozwalający automatycznie zwiększać pole dodatkowego licznika.
-- pozdrawiam *ryspek*
SuperTen - 04-02-2006 14:52
*ryspek* napisał(a): > Tabele MySQL mogą mieć tylko jedno pole AUTO_INCREMENT. > Jak, w takim razie, zrealizować dodatkowy, niezależny, inkrementowany > licznik, > czy tworzyć własną, dodatkową tabelę przechowującą aktualną wartość > licznika, czy jest jakiś standardowy mechanizm MySQL pozwalający > automatycznie zwiększać pole dodatkowego licznika. >
Standardowy mechanizm jest: UPDATE tabela SET wartosc=wartosc+1
-- "Codziennie gdy wstajesz, otrzymujesz szansę aby stać się lepszym" $this->wyslij(); // Linux friendly but win because i must
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 04-02-2006 14:52
Dnia Sat, 04 Feb 2006 12:12:50 +0100, SuperTen <SuperTen@Prawie21ProcentPowietrza.pl> wklepał(-a):
>Standardowy mechanizm jest: UPDATE tabela SET wartosc=wartosc+1
LOL. I w ten sposób niszczysz zawartość wszystkich identyfikatorów w tabeli. -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
SuperTen - 06-02-2006 08:32
Sławomir Szyszło napisał(a): > >> Standardowy mechanizm jest: UPDATE tabela SET wartosc=wartosc+1 > > LOL. I w ten sposób niszczysz zawartość wszystkich identyfikatorów w tabeli.
ROTFL.. a co mam mu z fusów warunki wywróżyć?
-- "Codziennie gdy wstajesz, otrzymujesz szansę aby stać się lepszym" $this->wyslij(); // Linux friendly but win because i must
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 06-02-2006 08:32
Dnia Sat, 04 Feb 2006 18:20:02 +0100, SuperTen <SuperTen@Prawie21ProcentPowietrza.pl> wklepał(-a):
>ROTFL.. a co mam mu z fusów warunki wywróżyć?
Podasz taki update początkującemu i uszkodzi sobie dane. Jak podajesz odpowiedź, to chociaż poprawną. -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
Descartes - 06-02-2006 08:32
On Sat, 04 Feb 2006 19:00:11 +0100, Sławomir Szyszło <slaszysz@poczta.onet.pl> wrote:
>Dnia Sat, 04 Feb 2006 18:20:02 +0100, SuperTen ><SuperTen@Prawie21ProcentPowietrza.pl> wklepał(-a): > >>ROTFL.. a co mam mu z fusów warunki wywróżyć? > >Podasz taki update początkującemu i uszkodzi sobie dane. Jak podajesz odpowiedź, >to chociaż poprawną.
Poczatkujacy pewnie najpierw piec razy sprawdzi na testowej tabeli, zanim zastosuje w praktyce. A przynajmniej kombinujac zrozumie, dlacego cos mu nie wychodzi. Podany mechanizm jest prawidlowy. A ew. zawezenie jest na tyle czesta operacja, ze nawet poczatkujacy powinien o niej slyszec. Imho to bardzo dobra wedka - a jezeli juz zaczales ja krytykowac, to dlaczego nie podales 'lepszego' rozwiazania? zamiast pomoc pytajcemu (co uczynil przedmowca) tylko skrytykowales odpowiedz. A jezeli odpowiedz nie jest satysfakcjonujaca... coz, niektorzy nie powinni bawic sie w BD jezeli nie porafia skorzystac z wedki lub z google. Wystarczy wpisac pytanie do wyszukiwarki i mozna przebierac w odpowiedziach. Descartes -- )\._.,--....,'``. /, _.. \ _\ (`._ ,. `._.-(,_..'--(,_..'`-.;.' Dancing with the Sword
*ryspek* - 06-02-2006 08:32
> Standardowy mechanizm jest: UPDATE tabela SET wartosc=wartosc+1
Początkujący zauważa, że takie rozwiązanie wymaga odrębnej tabeli do przechowywania licznika 'warttosc', prawidłowo powinno być: UPDATE tabela_liczniki SET wartosc=wartosc+1 WHERE unikalna_nazwa_pola_licznika='Nr'
Początkujący chciałby się dowiedzieć ,czy jest pomysł na dodatkowy licznik w obrębie jednej tabeli typu: nowa_wartos_licznika_nr = MAX(nr) + 1 ?
pozdrawiam *ryspek*
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.pladwokat.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|