如何在MySQL中為現有列新增非空約束?
要在MySQL中為現有列新增非空約束,我們將使用ALTER命令。這是一種限制使用者輸入空值的驗證型別。
讓我們來看一個例子。首先,我們將建立一個表。CREATE命令用於建立表。
mysql> create table AddNotNUlldemo - > ( - > name varchar(100) - > ); Query OK, 0 rows affected (0.44 sec)
插入記錄。
mysql> insert into AddNotNUlldemo values('John');
Query OK, 1 row affected (0.19 sec)
mysql> insert into AddNotNUlldemo values('Bob');
Query OK, 1 row affected (0.19 sec)
顯示所有記錄。
mysql> select *from AddNotNUlldemo;
以下是輸出。
+------+ | name | +------+ | John | | Bob | +------+ 2 rows in set (0.00 sec)
以下是為現有列新增約束的語法。
ALTER table yourTableName modify column_name data type constraint;
現在讓我們實現上述語法來實現下面的查詢。在這裡,我們包含“not null”約束。
mysql> ALTER table AddNotNUlldemo modify name varchar(100) not null; Query OK, 0 rows affected (1.14 sec) Records: 0 Duplicates: 0 Warnings: 0
現在,我們無法將空值插入到“AddNotNUlldemo”表中,因為我們已將上述約束設定為“not null”。如果我們嘗試新增空值,我們將收到錯誤。以下是一個示例。
mysql> INSERT into AddNotNUlldemo values(null); ERROR 1048 (23000): Column 'name' cannot be null
顯示所有記錄。
mysql> SELECT *from AddNotNUlldemo;
以下是輸出。
+------+ | name | +------+ | John | | Bob | +------+ 2 rows in set (0.00 sec)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP