如何在 MySQL 中向现有列添加非空约束?
mysqlmysqli database
要向 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 修改 column_name 数据类型约束;
现在让我们实现上述语法来实现以下查询。这里,我们包括"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)