Autor Zpráva
joe
Profil
Ahoj,

Tak "šikovně" jsem si připravil tabulku v db, kde jsem dal sloupce typu enum a
toho několik možností. Teď bych chtěl, jestli nevíte jak a jestli to udělat
půjde (ono to asi nepůjde jinak, než to ošetřit v php si myslím), že když bych
zadal dotaz pro vložení

INSERT INTO ... `sloupecSenum` = 'neco';

Tak, že pokud v té nabídce nebude (v té tabulce db) to 'neco', ze by se
vlozila automaticky prázdná hodnota.

Tak jak na to Nebo to musím pokaždé testovat jestli ta hodnota tam taková
skutečně je před vložením?

Díky za rady, nápady a cokoli dalšího ..
Joker
Profil
Vždyť přesně to je výchozí chování. Při pokusu o vložení neplatné hodnoty se v databázi objeví prázdná hodnota.
Leo
Profil
Jj, ENUM a SET jsou na dve veci, Leo
Joker
Profil
Leo
ENUM a SET jsou na dve veci, Leo
Proč?
Pokud potřebuju pro nějaký sloupec třeba čtyři možnosti, ENUM se hodí. Pokud potřebuju například pro jazyk jednu z možností: "česky", "english", "deutsch", dávat VARCHAR(7) je blbost a TINYINT taky není moc dobré- je možné vložit neplatné hodnoty, musím to v aplikaci konvertovat a třeba za půl roku když se kouknu do tabulky, nebudu vědět, co je "jazyk=2"
Leo
Profil
"Pokud potřebuju pro nějaký sloupec třeba čtyři možnosti, ENUM se hodí. Pokud potřebuju například pro jazyk jednu z možností: "česky", "english", "deutsch", dávat VARCHAR(7) je blbost a TINYINT taky není moc dobré- je možné vložit neplatné hodnoty, musím to v aplikaci konvertovat a třeba za půl roku když se kouknu do tabulky, nebudu vědět, co je "jazyk=2""

A kdyz zmenite jazyky tak budete menit v bezici aplikaci strukturu tabulek? Co je co muzete mit v separatni tabulce nebo v definovanych konstantach aplikace (v PHP). U datoveho typu SET to uz ani nepripomina RELACNI databazi, jak budete delat treba statistiky, COUNT apod. Leo
joe
Profil
Joker

Tak mi to nefunguje.
Dám příklad:

sloupec test typu enum('ano', 'ne') ...vychozi je ne.

A pak, kdyz bych odesilal jinou hodnotu do sloupce test (neco jinyho nez ano/ne), treba xxx

Tak mi to vyhodi tuto hlasku: Data truncated for column 'test' at row 1

A ja bych chtel, at kdyz se pokusi vlozit neexistujici moznost, tak at tam zustane to ne, pripadne aby to bylo prazdne. Ale nechtel bych to kontrolovat phpckem pred vlozenim, a pak zase pri zobrazovani napriklad, protoze mi to prijde zbytecny a kdyz pises, ze se to tak chova, tak by to jit melo, jenze me to nejde :-(

Tak prosim kdyby nekdo vedel co a jak mam udelat, tak poradte prosim, diky.


Leo
Na dve veci urcite nejsou

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0