Napsal jste:"Stále mohu vkládat prázdné řetězce (=NULL)," což zní jako nedorozumění. V SQL se prázdný řetězec nevyhodnocuje jako NULL nebo naopak. Zkuste vložit prázdný řetězec a proveďte SELECT from wall where token_message is NULL
. Měli byste získat zpět nula řádků. Potom zkuste provést vložení, kde zadáte NULL
(neuvedeno) jako hodnotu pro váš sloupec a měli byste obdržet očekávanou chybovou zprávu.
Pokud tyto testy fungují podle očekávání, pak je vše v pořádku a váš problém je ve skutečnosti v tom, že chcete zabránit vkládání prázdných řetězců. Podívejte se na tato otázka pro návrhy, nebo jen zkontrolujte prázdné řetězce během ověřování před dotazem.