Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để thêm ràng buộc not null vào cột hiện có trong MySQL?

Để thêm ràng buộc not null vào một cột hiện có trong MySQL, chúng ta sẽ sử dụng lệnh ALTER. Đây là một loại xác thực để hạn chế người dùng nhập các giá trị rỗng.

Hãy để chúng tôi xem một ví dụ. Đầu tiên, chúng ta sẽ tạo một bảng. Lệnh CREATE được sử dụng để tạo bảng.

mysql> create table AddNotNUlldemo
   - > (
   - > name varchar(100)
   - > );
Query OK, 0 rows affected (0.44 sec)

Để chèn bản ghi.

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)

Để hiển thị tất cả các bản ghi.

mysql> select *from AddNotNUlldemo;

Đây là kết quả đầu ra.

+------+
| name |
+------+
| John |
| Bob  |
+------+
2 rows in set (0.00 sec)

Sau đây là cú pháp để thêm một ràng buộc vào một cột hiện có.

ALTER table yourTableName  modify column_name data type constraint;

Bây giờ chúng ta hãy triển khai cú pháp trên để thực hiện truy vấn dưới đây. Ở đây, chúng tôi đang bao gồm ràng buộc “không rỗng”.

mysql> ALTER table AddNotNUlldemo modify name varchar(100) not null;
Query OK, 0 rows affected (1.14 sec)
Records: 0  Duplicates: 0  Warnings: 0

Bây giờ, chúng ta không thể chèn giá trị null vào bảng “AddNotNUlldemo” vì chúng ta đã đặt ràng buộc ở trên là “not null”. Nếu chúng tôi cố gắng thêm giá trị null, chúng tôi sẽ gặp lỗi. Sau đây là một ví dụ.

mysql> INSERT into AddNotNUlldemo values(null);
ERROR 1048 (23000): Column 'name' cannot be null

Để hiển thị tất cả các bản ghi.

mysql> SELECT *from AddNotNUlldemo;

Đây là kết quả đầu ra.

+------+
| name |
+------+
| John |
| Bob  |
+------+
2 rows in set (0.00 sec)