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

Muốn giới hạn giá trị của một trường MySQL trong phạm vi cụ thể (Giá trị thập phân)

Bạn có thể mô phỏng một ràng buộc kiểm tra trong MySQL bằng cách sử dụng trình kích hoạt.

Ví dụ:nếu bạn muốn buộc tất cả các giá trị lớn hơn 1,00 được lưu trữ dưới dạng 1,00, bạn có thể làm như vậy với 2 trình kích hoạt như sau:

DELIMITER $$

DROP TRIGGER IF EXISTS tr_b_ins_relationships $$

CREATE TRIGGER tr_b_ins_relationships BEFORE INSERT ON relationships FOR EACH ROW BEGIN
  IF new.relationship_level > 1
  THEN
    SET new.relationship_level = 1;
  END IF;
END $$

DELIMITER ;


DELIMITER $$

DROP TRIGGER IF EXISTS tr_b_upd_relationships $$

CREATE TRIGGER tr_b_upd_relationships BEFORE UPDATE ON relationships FOR EACH ROW BEGIN
  IF new.relationship_level > 1
  THEN
    SET new.relationship_level = 1;
  END IF;
END $$

DELIMITER ;


  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ó ANSI SQL thay thế cho từ khóa MYSQL LIMIT không?

  2. Làm cách nào để chuyển đổi một cột thành ASCII ngay lập tức mà không cần lưu để kiểm tra các kết quả khớp với chuỗi ASCII bên ngoài?

  3. Khóa bảng mysql bằng php

  4. Nhiều truy vấn nhỏ so với một truy vấn dài. Cái nào hiệu quả hơn?

  5. Cột SQLAlchemy JSON - cách thực hiện truy vấn chứa