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

Xác thực dữ liệu MySQL khi chèn

Giả sử bạn có một vài bảng:

Items
------------
ItemID
NumAvailable
-------------

Checkout
-----------
UserID
ItemID
-----------

Bạn có thể tạo trình kích hoạt tính tổng của ItemID và so sánh với NumAvailable cho mặt hàng cụ thể đó. Nó sẽ trông giống như thế này (có thể có sai sót, ý tưởng chung chỉ được trình bày :). Phương pháp cho lỗi thu thập được từ tại đây , có thể có một cách tốt hơn):

CREATE TRIGGER check_available 
BEFORE INSERT ON Checkout 
FOR EACH ROW 
BEGIN
  SELECT IF (COUNT(new.ItemID) > Items.NumAvailable) THEN
    DECLARE dummy INT;
        SELECT 'No more items to check out!' INTO dummy 
  FROM new NATURAL JOIN Items WHERE NEW.ItemID = Items.ItemID
  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. PHP &mySQL:Mã đơn giản để thực hiện Giao dịch - Cam kết &Khôi phục

  2. ngăn chặn xóa * khỏi bảng trừ khi khóa chính được chỉ định

  3. Cách khắc phục sự cố trình xác định MySQL

  4. Câu lệnh chèn MySQL (chèn vào bảng (cột) câu lệnh chọn)

  5. Thời gian bắt đầu thực thi sự kiện Mysql