Autor Zpráva
quatzael
Profil
Mám sloupec s typem ENUM, kde jsou možné pouze dvě hodnoty (on/off). Mám tam nastavenou výchozí hodnotu off, jenže když tam vkládám hromadně data, tak proměnná pro daný sloupec má obvykle hodnotu buď on nebo žádnou (získané z checkboxu). No a když tam při zápisu do tebulky se do tohoto sloupce vloží prázdný řetězec, tak jsem čekal, že se tam automaticky objeví off. Ale je to prázdný. (a zápis se opravdu provede, nehodí to žádnou chybu)..
Tori
Profil
A je ten sloupec NOT NULL?
quatzael
Profil
Tori:
Nejspíš jo. Je to tam česky: Nulový - Ne
peta
Profil
Tak udelej export struktury do sql prikazu z phpmyadminu, aby jsme videli, co tam mas a nemas. Ten preklad v adminovi zrovna neni moc cool, tech kolonek je tam vic. Sam s tim mivam problemy, proto pouzivam primo sql prikazy.
Nulový - Ne + musis napsat hodnotu do dalsi kolonky, jaka ma byt tedy vychozi hodnota, napr
  `cas_pridani` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
quatzael
Profil
peta:
Tak udelej export struktury do sql prikazu z phpmyadminu, aby jsme videli, co tam mas a nemas.
Co tím myslíš? Jak mám udělat export struktury?

Prostě tam mám v tom sloupci:
Typ: ENUM
Délka/Množina: 'on','off'
Výchozí: Dle zadání: off
Kajman
Profil
quatzael:
No a když tam při zápisu do tebulky se do tohoto sloupce vloží prázdný řetězec

Nedávejte tam při zápisu nepovolené hodnoty. Ale jen 'on' nebo 'off' a máte po problému.
quatzael
Profil
Kajman:
No to je sice hezký, ale trochu postrádá význam tam mít ten ENUM a výchozí hodnotu. Já jsem to chtěl právě pro případ, kdy tam zadám prázdnou (chybnou) hodnotu, tak aby se tam nastavila ta výchozí.
Kajman
Profil
Výchozí hodnota se použije, pokud ten sloupec v insertu vůbec nepoužijete nebo místo hodnoty použijete klíčové slovo default.

Když do enum dáváte neexistující hodnotu, chová se to takto v souladu s návodem.

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