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

Tạo trình kích hoạt để cập nhật cột sắp xếp / thứ tự

Tôi nghĩ cách giải quyết là đặt điều này thành trước khi kích hoạt và cập nhật bản ghi đang được chèn trước khi chèn.

Vì vậy,

CREATE
/*!50017 DEFINER = 'admin'@'%' */
TRIGGER `trigger_liability_detail_after_insert` BEFORE INSERT ON `liability_detail` 
    FOR EACH ROW BEGIN
    DECLARE SortOrder INT;
    IF NEW.liability_category_id = 1 OR NEW.liability_category_id = 2 THEN

    SET NEW.seq = 1 + IFNULL((SELECT MAX(seq) FROM liability_detail WHERE analysis_id = new.analysis_id AND liability_category_id IN (1, 2)), 0);
    END IF;
    END;
$$

Đó là một bản sao / dán nhanh, nhưng nó phải là một cái gì đó dọc theo những dòng đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xoay một bảng và hiển thị n chuỗi thời gian có thứ tự

  2. Những hạn chế của việc triển khai MySQL NDB Cluster là gì?

  3. lưu trữ TEXT / BLOB trong cùng một bảng hay không?

  4. Viết hoa chữ cái đầu tiên. MySQL

  5. Tối ưu hóa truy vấn sử dụng chỉ mục MySQL