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

Как да добавите ограничение NOT NULL в MySQL

Ако трябва да зададете MySQL колона да не приема нулеви стойности, тогава можете да добавите ограничение NOT NULL в MySQL. Можете да добавите ограничение NOT NULL, когато създавате таблица на таблица, използвайки оператор CREATE TABLE, или да добавите ограничение NOT NULL в съществуваща таблица, като използвате оператор ALTER TABLE. Ето как да добавите ограничение NOT NULL в MySQL.

Как да добавите ограничение NOT NULL в MySQL

Ето стъпките за добавяне на ограничение NOT NULL за колона в MySQL, добавяне на ограничение NOT NULL към съществуваща колона и премахване на ограничение NOT NULL от колона.

Ето синтаксиса за дефиниране на ограничение NOT NULL в MySQL, когато създавате нова таблица.

column_name data_type NOT NULL;

В горното изявление трябва да посочите NOT NULL, след като споменавате име_на_колона и неговия тип_данни

Ето пример за добавяне на ограничение NOT NULL в MySQL.

mysql> create table product_sales(
     id int,
     amount int NOT NULL,
     order_date date
     );

mysql> describe product_sales;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| id         | int(11) | YES  |     | NULL    |       |
| amount     | int(11) | NO   |     | NULL    |       |
| order_date | date    | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

mysql> insert into product_sales(id, order_date)
     values(1,'2020-08-01');
ERROR 1364 (HY000): Field 'amount' doesn't have a default value

В горната заявка CREATE TABLE добавихме ограничение NOT NULL за количество колона. Когато вмъкнете стойност NULL в тази колона, MySQL ще даде грешка.

Бонус за четене:Как да добавя ограничение по подразбиране в MySQL

ALTER TABLE Добавете ограничение NOT NULL в MySQL

Можете също да добавите ограничение NOT NULL към съществуваща колона в MySQL, като използвате оператор ALTER TABLE ... CHANGE. Ето синтаксиса за добавяне на ненулево ограничение в съществуващата таблица в MySQL.

ALTER TABLE table_name
CHANGE 
   old_column_name 
   new_column_name column_definition;

В горната заявка споменаваме едно и също име на колона за old_column_name, както и за new_column_name. New_column_name трябва да бъде последвано от неговата column_definition за тип данни и ключова дума NOT NULL.

Ето пример за SQL заявка за добавяне на ограничение NOT NULL към съществуваща колона в MySQL.

mysql> ALTER TABLE product_sales
     CHANGE
         order_date
         order_date DATE NOT NULL;

mysql> describe product_sales;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| id         | int(11) | YES  |     | NULL    |       |
| amount     | int(11) | NO   |     | NULL    |       |
| order_date | date    | NO   |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

В горната заявка добавихме ограничение NOT NULL към съществуващата колона order_date

Бонус за четене:MySQL Изберете Топ N реда на група

Как да премахнете ограничението NOT NULL

Можете също да махнете ограничението NOT NULL, като използвате оператор ALTER TABLE ... MODIFY. Ето синтаксиса за премахване на ограничението NOT NULL в MySQL.

ALTER TABLE table_name
MODIFY column_name column_definition;

В горната заявка трябва да посочите името на колоната и дефиницията, за които искате да премахнете ограничението NOT NULL.

Ето пример за премахване на ограничението NOT NULL за order_date колона.

mysql> ALTER TABLE product_sales
       MODIFY order_date DATE;

mysql> describe product_sales;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| id         | int(11) | YES  |     | NULL    |       |
| amount     | int(11) | NO   |     | NULL    |       |
| order_date | date    | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Бонус четене:Как да получите данни от миналата седмица в MySQL

Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  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

  2. MySQLSyntaxErrorException близо до ? когато се опитвате да изпълните PreparedStatement

  3. Как да напиша съхранена процедура с помощта на phpmyadmin и как да я използвам чрез php?

  4. INSERT ... НА ДУБЛИКАТ КЛЮЧ (не правете нищо)

  5. Как да инсталирате phpMyAdmin в собствено приложение