sql >> Databasteknik >  >> RDS >> Mysql

Definiera sammansatt nyckel med automatisk ökning i MySQL

Du kan inte låta MySQL göra detta åt dig automatiskt för InnoDB-tabeller - du skulle behöva använda en trigger eller procedur, eller använda en annan DB-motor som MyISAM. Automatisk ökning kan endast göras för en enda primärnyckel.

Något i stil med följande borde fungera

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. Introduktion till Azure Serverless

  2. SQLDeveloper visar inga tabeller under anslutningar där det står tabeller

  3. Uppdatera MySQL med if condition

  4. Välj efter månad i ett fält