ahoj, co to je EMUN vim i jak se zadává jako sloupec, ale už nevim jak se vlkádají hodnoty pomocí INSERT a jak se to pomocí PHP čte. prosím poraďte, dík :)
jo, a to samý platí taky pro SET :(
čte se a zapisuje normálně. Rozdíl je v tom, že je rychlejší a lze do něj hodnotu zadat také pomocí čísla hodnoty (od nuly), takže třeba
INSERT INTO `tabulka` (`sloupec`) VALUES (0);
Při výběru to nevypíše '0', ale první možnost z ENUMu
PS: jmenuje se ENUM
jj, to chápu, ale jak se to pak řečte přes PHP? přečte se to třeba jako "a" je-li vybrána možnost "a"? a jak se přečte SET?
je to teda spíš otázka do PHP, ale nechci zakládat novej thread.
ENUM je prostě akorát výčet prvků které můžou v sloupci být. Pakliže dáš UPDATE tabulka SET sloupec_enum="foo" tak prostě ve sloupci bude "foo" ať to čteš odkud to čteš :) ENUM jenom omezuje prvky, které můžeš vložit, a také dost zkracuje místo na disku.
EMUN už chápu na 100%, ale jak se SET přečte přes PHP?
když je třeba sloupec 'a','b','c' a je vybráno 'a,c' přečte se to jako tří znakovej řetězec a,c ?
set je obdobný, akorát můžeš mít v jednom sloupečku nastaveno více hodnot. Při čtení pak dostaneš seznam oddělený čárkami. Např.
Máš set (množinu) definovanou jako
('a', 'b', 'c').
pak možné hodnoty sloupečku jsou (to, co ti vyleze z php)
''
'a'
'b'
'c'
'a,b'
'a,c'
'a,b,c'
má to taky svou binární reprezentaci
000
001
010
100
110
101
111
plnění a čtení si zkus. Moc jsem to nepoužíval, ale dá se udělat třeba
update x set s = 'a,c' where i=4
jj, ale já myslim jak se to čte přes PHP
$link=mysql_pconnect("mysql.webzdarma.cz","login","passwd");
mysql_select_db("db",$link);
$data=mysql_query("SELECT * FROM `set_table`");
white($row=mysql_fetch_array($data)){
echo $row["set_column"] . "<br />"; // <-------- co bude v $row["set_column"] je li vybráno 'a,c'
};
MzM to popsal, taky, když už jsi ten kód napsal, jsis' to mohl zkusit.