如何在 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)

相关文章