Autor Zpráva
Anonymní
Profil *
Ahoj, mám datový typ set v mysql. Mám tam možnosti
set('xxx', 'yyy', 'cccc, 'aaa', 'bbbb'), jakym dotazem vyberu ty možnosti? Abych je mohl vypsat na stránku? Dík
Leo
Profil
Obycejny SELECT, Leo
Anonymní
Profil *
Vím, že se snažíš, abych použil google nebo se to pokusil najít v manuálu. To přesně jsem udělal, a když jsem odpověď nenašel, tak jsem napsal sem. Poradíš mi jak těch pět možností vybrat?
Leo
Profil
Stejne jako obsah jakehokoliv jineho sloupce v db - dostanete to jako retezec. Leo
souki
Profil
IMHO to jen zsmezuje ukládání jiných než definovaných dat
Anonymní
Profil *
Možná jsem špatně položil dotaz.
Vytvořím si novou tabulku
CREATE TABLE `test` (

`set` SET( "a", "b", "c" ) NOT NULL
)


Je možné, ikdyž je tabulka prázdná, aby dotaz vrátil tyto "a", "b", "c" možnosti?
Anonymní
Profil *
IMHO to jen zsmezuje ukládání jiných než definovaných dat
přesně tak, využívá se to hlavně při práci s formuláři, když uživatel může například zaškrtnou víc než jeden checkbox
WanTo
Profil
Je možné, ikdyž je tabulka prázdná, aby dotaz vrátil tyto "a", "b", "c" možnosti?
Ne. Co by měl dotaz vrátit, když v tabulce nic není?
Anonymní
Profil *
Ne. Co by měl dotaz vrátit, když v tabulce nic není?
I když je tabulka prázdná, tak bych předpokládal, že by nějaký dotaz mohl vrátit názvy sloupců. Nebo se názvy sloupců nedají získat? Popřípadně jen, když je tabulká naplněná daty?

Co by měl dotaz vrátit
Rád bych, aby mi dotaz vrátil ty možnosti, které jsem si předdefinoval. Rád bych sestrojil takovýto formulář

<select size="4" multiple="multiple">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
</select>
Anonymní
Profil *
By mě zajímalo, jak to třeba dělá phpmyadmin, když dám editovat sloupec "set", tak ve sloupečku "Délka/Množina*" vypíše všechny tyto možnosti.
Acci
Profil
Tak se podiv na jeho zdrojové kódy. http://www.phpmyadmin.net/home_page/index.php
Anonymní
Profil *
To už jsem zkoušel, ale kódy phpmyadminu jsou strašně dlouhé a zjistit, jak phpmyadmin s datovým typem set postupuje je pro mě nemožné.
Joker
Profil *
Zkusil jsem to vygooglit, ani to nebylo moc těžké. Pokud máte tabulku:
CREATE TABLE `test` (`set` SET( "a", "b", "c" ) NOT NULL) 


tak:
SHOW COLUMNS FROM test LIKE "set"

a ve sloupci "type" dostaneste "set('a','b','c')". Z toho si pak skriptem vyzobete jednotlivé možnosti.
Anonymní
Profil *
Joker
Dík moc, jak jsi postupoval při hledání? Já jsem se s tím dost trápil.
Leo
Profil
"Dík moc, jak jsi postupoval při hledání? Já jsem se s tím dost trápil."

Docela pomaha manual konkretniho db systemu, napriklad ten na

www.mysql.org

Leo
Joker
Profil *
Leo:
V manuálu se ale tohle blbě hledá. Manuál je totiž dělaný přesně obráceně... úplně výborně najdete, co dělá "SHOW COLUMNS". Ale obráceně je to horší.

Jinak já si prostě v Opeře naťukal "g mysql allowed set values" (g znamená hledání Googlem). První výsledek týkající se datového typu set byl na čtvrtém místě, stránka: http://mysqld.active-venture.com/SET.html a na té to taky je jako poslední věta:
"If you want to get all possible values for a SET column, you should use: SHOW COLUMNS FROM table_name LIKE set_column_name and parse the SET definition in the second column."
Toto téma je uzamčeno. Odpověď nelze zaslat.

0