Mysql
 sql >> база данни >  >> RDS >> Mysql

Ограничение в таблицата на MYSQL?

Има няколко неща относно двете ограничения, които искате да наложите:

  1. Новият вмъкнат ред не може да има NULL стойност за колона Parent_group.

    • Можете да наложите ограничение NOT NULL на колона само ако съдържа всички ненулеви стойности. Нуждаете се от нулева стойност в тази колона за основния възел.
    • За това можете да използвате ограничението CHECK. Прочетете повече за CHECK CONSTRAINT тук .
    • Можете да поставите

Това ще позволи NULL стойност само за основния възел и ще наложи НЕ NULL стойност за всеки друг ред в таблицата.

  1. Добавете ограничение, така че редът RootGroup да не може да бъде изтрит.

    • Че вече сте дефинирали външен ключ между parent_group и pkey , базата данни автоматично ще наложи референтна цялост и ще забрани изтриването на основния възел (или по този въпрос всеки родителски възел). Базата данни ще върне грешка, ако се опита DELETE на който и да е родителски или основен възел.
  2. За точката, спомената в РЕДАКТИРАНЕ раздел, можете да поставите просто ограничение за проверка на таблицата като
    CHECK (parent_group != pkey) . Това трябва да ви свърши работа.

Прочетете как да дефинирате ограниченията на външния ключ и как да ги използвате за налагане на референтна цялост. Освен това преминете през връзката, която публикувах по-горе, или тук преди да приложите тези предложения.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Конфигурация на MySQL / CodeIgniter на OpenShift

  2. Използване на Oracle JDeveloper с MySQL Database Service на Oracle Cloud Platform, част 2

  3. ER_TRUNCATED_WRONG_VALUE:Неправилна стойност за дата и час

  4. Nodejs Cluster с MySQL връзки

  5. Как да изберете count с плавния конструктор на заявки на Laravel?