Ik heb een klein probleempje met ENUM-data in een MySQL database. Het betreft hier een ENUM, die de waarde 'ja' of 'nee' kan aannemen, geen null mag zijn en standaard 'nee'. Zo dus
Wanneer ik wat in de tabel zet met onderstaande queries, krijg ik zoals verwacht eerst 'ja', daarna 'nee' en in de laatste nog een keer 'nee'.
Wanneer ik echter het onderstaande zou doen, dan neemt het ENUM-veld een lege waarde aan, maar géén null.
Hoe krijg ik MySQL zover, dat ook de laatste query ervoor zorgt dat het ENUM-veld de waarde 'nee' aanneemt? Uiteraard zal je in de praktijk nooit een dergelijke query geven, maar ik heb het liefst dat mijn database gewoon goed functioneert en altijd nette waardes heeft, ook wanneer de PHP scripts onzinnige queries geven.
code:
1
| Verwijderd ENUM('ja','nee') NOT NULL default 'nee', |
Wanneer ik wat in de tabel zet met onderstaande queries, krijg ik zoals verwacht eerst 'ja', daarna 'nee' en in de laatste nog een keer 'nee'.
code:
1
2
3
| INSERT into tabel (Verwijderd) values ('ja');
INSERT into tabel (Verwijderd) values ('nee');
INSERT into tabel (Ander_veld) values ('boeit_niet'); |
Wanneer ik echter het onderstaande zou doen, dan neemt het ENUM-veld een lege waarde aan, maar géén null.
code:
1
| INSERT into tabel (Verwijderd) values ('bullshit'); |
Hoe krijg ik MySQL zover, dat ook de laatste query ervoor zorgt dat het ENUM-veld de waarde 'nee' aanneemt? Uiteraard zal je in de praktijk nooit een dergelijke query geven, maar ik heb het liefst dat mijn database gewoon goed functioneert en altijd nette waardes heeft, ook wanneer de PHP scripts onzinnige queries geven.
"Anyone who does not agree with me is mentally sick, and should be shot I'm afraid to say."
- Pastor Richards @ VCPR