[MySQL] Pole typu SET
koob - 27-12-2005 10:18
[MySQL] Pole typu SET
Witam Jest sobie w table pole id oraz pole typu SET, ktore zawiera okolo 20 opcji id, set('opcja1','opcja2' .. )
Jak moge wyciagnac wszystkie mozliwe opcje np. do tablicy [php]? Myslalem zeby dodac wiersz z id=99999 oraz wszystkimi opcjami i potem: select opcje from lista where id='99999'; a nastepnie rozbic to explodem na tablice. Jest jakis lepszy sposób ?
-- Sig Virus Was here; pozdrawiam;
Krzysztof Wiśniewski - 29-12-2005 14:33
Użytkownik "koob" <koob@nospam.go2.pl> napisał w wiadomości news:op.s2ck8uiccnx595@koob... Witam Jest sobie w table pole id oraz pole typu SET, ktore zawiera okolo 20 opcji id, set('opcja1','opcja2' .. )
Jak moge wyciagnac wszystkie mozliwe opcje np. do tablicy [php]? Myslalem zeby dodac wiersz z id=99999 oraz wszystkimi opcjami i potem: select opcje from lista where id='99999'; a nastepnie rozbic to explodem na tablice. Jest jakis lepszy sposób ?
--
Oczywiście. Umiejętne wykorzystanie SHOW CREATE TABLE :) Reszta podpowiedzi w manualu.
Swoją drogą operowanie na ENUM i SET nie jest najszczęśliwszym rozwiązaniem...
Pozdrawiam, Krzysiek
=?ISO-8859-2?Q?Pawe=B3_Jurewicz?= - 29-12-2005 14:34
Krzysztof Wiśniewski <ktuvok@poczta.onet.pl> napisał(a):
> > Użytkownik "koob" <koob@nospam.go2.pl> napisał w wiadomości > news:op.s2ck8uiccnx595@koob... > Witam > Jest sobie w table pole id oraz pole typu SET, ktore zawiera okolo 20 opcji > id, set('opcja1','opcja2' .. ) > > Jak moge wyciagnac wszystkie mozliwe opcje np. do tablicy [php]? > Myslalem zeby dodac wiersz z id=99999 oraz wszystkimi opcjami i potem: > select opcje from lista where id='99999'; > a nastepnie rozbic to explodem na tablice. Jest jakis lepszy sposób ? > > > -- > > Oczywiście. Umiejętne wykorzystanie SHOW CREATE TABLE :) Reszta podpowiedzi > w manualu. > > Swoją drogą operowanie na ENUM i SET nie jest najszczęśliwszym > rozwiązaniem...
A czemu? Jesli czy nie osiagamy oszczednosci miejsca i wiekszej szybkosci gdy stosujemy pole ENUM zamiast VARCHAR/CHAR?
PJ
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Krzysztof Wiśniewski - 29-12-2005 14:34
Użytkownik "Paweł Jurewicz" <pjurewicz@WYTNIJ.gazeta.pl> napisał w wiadomości news:dorpf9$fu6$1@inews.gazeta.pl... | Krzysztof Wiśniewski <ktuvok@poczta.onet.pl> napisał(a): | | > | > Użytkownik "koob" <koob@nospam.go2.pl> napisał w wiadomości | > news:op.s2ck8uiccnx595@koob... | > Witam | > Jest sobie w table pole id oraz pole typu SET, ktore zawiera okolo 20 opcji | > id, set('opcja1','opcja2' .. ) | > | > Jak moge wyciagnac wszystkie mozliwe opcje np. do tablicy [php]? | > Myslalem zeby dodac wiersz z id=99999 oraz wszystkimi opcjami i potem: | > select opcje from lista where id='99999'; | > a nastepnie rozbic to explodem na tablice. Jest jakis lepszy sposób ? | > | > | > -- | > | > Oczywiście. Umiejętne wykorzystanie SHOW CREATE TABLE :) Reszta podpowiedzi | > w manualu. | > | > Swoją drogą operowanie na ENUM i SET nie jest najszczęśliwszym | > rozwiązaniem... | | A czemu? Jesli czy nie osiagamy oszczednosci miejsca i wiekszej szybkosci gdy | stosujemy pole ENUM zamiast VARCHAR/CHAR? | | PJ
To prawda. Tyle że w sytuacji Pytającego pole SET jest polem słownikowym. Inaczej po co miałby listować zawartość poszczególnych pozycji po stronie aplikacji? A skoro tak jest, to znaczy, że struktura bazy nie została przemyślana rozwojowo - w razie przeniesienia jej na inny silnik, gdzie nie ma SET i ENUM trzeba będzie jej istotną część przepisać. Pomijam niedogodność w administrowaniu takimi słownikami z poziomu aplikacji, gdyż każda zmiana słownika wymaga użycia ALTER TABLE. Pomijam niedogodność polegającą na tym, że znaczenie poszczególnych pozycji, zwykle wieloznakowe, trzeba oprogramować po stronie aplikacji. Pomijam wreszcie taki szczegół, że słownik oparty na SET może zawierać ograniczoną liczbę pozycji...
Pozdrawiam, Krzysiek
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?=
[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?=
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
zanotowane.pldoc.pisz.plpdf.pisz.plnumervin.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 |
|