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

Xác định khóa tổng hợp với tính năng tăng tự động trong MySQL

Bạn không thể để MySQL tự động thực hiện việc này cho bạn đối với các bảng InnoDB - bạn sẽ cần sử dụng trình kích hoạt hoặc thủ tục hoặc sử dụng một công cụ DB khác chẳng hạn như MyISAM. Tự động tăng chỉ có thể được thực hiện cho một khóa chính duy nhất.

Một cái gì đó như sau sẽ hoạt động

DELIMITER $$

CREATE TRIGGER xxx BEFORE INSERT ON issue_log
FOR EACH ROW BEGIN
    SET NEW.sr_no = (
       SELECT IFNULL(MAX(sr_no), 0) + 1
       FROM issue_log
       WHERE app_id  = NEW.app_id
         AND test_id = NEW.test_id
    );
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ách kết nối cơ sở dữ liệu mySQL bằng C ++

  2. Nhân bản GROUP_CONCAT cho gấu trúc.DataFrame

  3. Kiểu dữ liệu ENUM (Enumeration) trong MySQL:12 sự kiện hàng đầu và lời khuyên hữu ích

  4. lưu trữ phân cấp mysql với cây lớn

  5. mySQL tìm ra các trò lừa đảo và loại bỏ chúng