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

Thêm ràng buộc duy nhất dựa trên giá trị trường

Trên thực tế, bạn có thể không định nghĩa cấu trúc điều kiện trong cú pháp DDL. Trường của bạn có thể là NULL hoặc NOT NULL - không có tùy chọn thứ ba (và nó không thể phụ thuộc vào trường khác trong cấu trúc )

Nhưng bạn vẫn có thể mô phỏng hành vi mong muốn thông qua trình kích hoạt. Bạn có thể làm gián đoạn UPDATE / INSERT nếu dữ liệu đến không hợp lệ về mặt logic của bạn. Điều đó có thể được thực hiện thông qua:

CREATE TRIGGER `bannedOnCheck`
BEFORE INSERT ON `fa_ranking_system`.`Player`
FOR EACH ROW
BEGIN
  IF(new.IsBanned && new.BannedOn IS NULL) THEN
    SIGNAL 'Integrity check failed: can not set banned without ban date'
  END IF
END



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cảnh báo:mysql_real_escape_string ():Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu:NO) ... / public_html / checklogin.php

  2. Lỗi cú pháp PHP PDO hoặc vi phạm quyền truy cập:1064 khi chèn

  3. java.lang.IllegalStateException:Cố gắng thực hiện một hoạt động trên EntityManagerFactory đã đóng

  4. Nhập JSON vào Mysql

  5. Không có hoạt động nào được phép sau khi câu lệnh đóng