Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bảo vệ cột, không cho phép cập nhật, chỉ cho phép chèn nếu NULL trong MySQL

Có, trong MySQL, trình kích hoạt là cách duy nhất để làm điều này. MySQL không hỗ trợ các ràng buộc.

Trình kích hoạt của bạn không chính xác. Đầu tiên, bạn có update on date , nhưng đây phải là update on <table name> . Thứ hai, bạn đang kiểm tra giá trị ngày được sử dụng cho cập nhật . Có lẽ ý bạn là:

create trigger date_check_update
before update on <the table name goes here>
for each row
begin
    if (old.date IS NOT NULL) then
        SIGNAL 'date already set'
    end if ;
end;

Một insert kích hoạt trong điều kiện này không có ý nghĩa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Số lượng nhóm kết nối MySQL

  2. MYSQL chọn đếm theo giá trị

  3. tại sao chúng ta chia một bảng mysql thành nhiều bảng nhỏ hơn?

  4. Chèn nhiều hàng vào mysql (các mục được phân tách bằng dấu phẩy)

  5. Cách kết nối cơ sở dữ liệu MySQL từ xa trong PHP