Citat:
Originalno napisao Ilija Studen
Ako u bazi koristiš Yes i No za bool onda u aplikaciji treba da imaš funkciju koja će ih prebacivati u odgovarajuću bool vrednost. Ne možeš da koristiš čak ni broj povezan sa vrednošću jer se oni povezuju od 1 pa naviše -> sirova vrednost će uvek vraćati true u uslovima.
Ne vidim nikakvu poentu u uvođenju nove komplikacije da bi se dobilo na čitljivosti sirovih podataka. ENUM('0', '1') => OK, ENUM('Yes', 'No') => not OK po mom mišljenju.
|
Mašiš poentu. Postoji brdo primera gde 0 i 1 nije prirodno koristiti.
Evi ti primeri:
gender enum('M','F');
domain_available('yes','no');
default_skin('blue','green','silver')
...
Naravno, moze to i sa tinyint, stavis 0 muskarcima, 1 zenama (ili obrnuto) ali tako ne treba raditi. Ende.
Uz sve to, prilikom outputa u nekom frontend-u dovoljno je odraditi recimo:
PHP kôd:
$query = "select name,sex from users";
$result = $db->query($query);
$data = $result->fetch();
echo "Name: ".$data['name'].", Sex: ".$data['sex'];
Umesto:
PHP kôd:
$query = "select name,sex from users";
$result = $db->query($query);
$data = $result->fetch();
echo "Name: ".$data['name'].", Sex: ".($data['sex'] ? "M" : "F");