Шта је НОТ НУЛЛ ограничење?
Ограничење НОТ НУЛЛ осигурава да колона не може да садржи нулте вредности које захтевају да сваки ред у табели има вредност која није нула за ту конкретну колону.
Захтеви за туторијал:
Да бисте пратили упутства која су дата у овом посту, претпостављамо да имате следеће захтеве:
- Инсталиран ПостгреСКЛ сервер на вашој машини
- Основно знање СКЛ-а
- Дозвола за креирање објеката табеле базе података као што су ограничења, функције итд
Пример табеле:
Почнимо са постављањем узорка табеле са колонама које садрже ограничење које није нулто. Узмите следећу наредбу креирања табеле која поставља основну табелу која личи на табелу вп_усерс у ВордПресс-у:
ЦРЕАТЕ ТАБЛЕ вп_усерс (
ИД СЕРИЈСКИ ПРИМАРНИ КЉУЧ,
усер_логин ВАРЦХАР(60) НОТ НУЛЛ,
усер_пасс ВАРЦХАР(255) НОТ НУЛЛ,
усер_ниценаме ВАРЦХАР(50) НОТ НУЛЛ,
усер_емаил ВАРЦХАР(100) НОТ НУЛЛ,
усер_урл ВАРЦХАР(100),
усер_регистеред ТИМЕСТАМП НОТ НУЛЛ ДЕФАУЛТ цуррент_тиместамп,
усер_ацтиватион_кеи ВАРЦХАР(255),
усер_статус ИНТ НОТ НУЛЛ ДЕФАУЛТ 0,
дисплаи_наме ВАРЦХАР(250) НОТ НУЛЛ
);
Из датог упита приметићете да већина колона садржи ограничење НОТ НУЛЛ.
Најефикаснији метод креирања ограничења НОТ НУЛЛ у датој колони је током креирања табеле. Ово осигурава да се сви подаци који се додају у табелу придржавају правила ограничења.
Међутим, ако додате ограничење постојећој табели, правила се примењују само на податке који се додају после ограничења, а не на било које постојеће податке. Ово може довести до недоследности, посебно у великим табелама.
Додајте ограничење НОТ НУЛЛ
У неким случајевима, можда ћете желети да додате НОТ НУЛЛ ограничење постојећој табели. На пример, можете користити команду АЛТЕР ТАБЛЕ након које следи клаузула АЛТЕР ЦОЛУМН.
Синтакса је следећа:
АЛТЕР ТАБЛЕ име_табелеАЛТЕР ЦОЛУМН цолумн_наме СЕТ НОТ НУЛЛ;
Замените табле_наме вашом циљном табелом и цолумн_наме са циљном колоном на коју желите да примените ограничење.
Проверите ограничење
Можете да проверите да ли ограничење постоји на датој табели помоћу команде „\д“ у ПСКЛ услужном програму.
\д име_табелеПример:
сампле_дб=# \д вп_усерс;Резултат је следећи:
Уклоните ограничење НОТ НУЛЛ
Можда ћете желети да уклоните ограничење НОТ НУЛЛ из дате колоне. За то можемо користити клаузуле АЛТЕР ТАБЛЕ и АЛТЕР ЦОЛУМН на следећи начин:
АЛТЕР ТАБЛЕ име_табелеАЛТЕР ЦОЛУМН цолумн_наме ДРОП НОТ НУЛЛ;
На пример, да бисмо уклонили ограничење НОТ НУЛЛ из колоне усер_урл табеле вп_усерс, можемо покренути следећи упит:
АЛТЕР ТАБЛЕ вп_усерс АЛТЕР ЦОЛУМН усер_урл ДРОП НОТ НУЛЛ;Ово би требало да избаци ограничење из табеле.
Закључак
Овај водич је истраживао како можемо да радимо са ограничењем НОТ НОЛЛ у ПостгреСКЛ-у. Такође смо истражили како да избацимо постојеће ограничење НОТ НУЛЛ из дате колоне.