sql >> Database >  >> RDS >> Mysql

Samengestelde sleutel definiëren met Auto Increment in MySQL

U kunt MySQL dit niet automatisch voor u laten doen voor InnoDB-tabellen - u zou een trigger of procedure moeten gebruiken of een andere DB-engine zoals MyISAM moeten gebruiken. Automatisch verhogen kan alleen worden gedaan voor een enkele primaire sleutel.

Iets als het volgende zou moeten werken

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. Databases en instanties controleren via Activity Monitor | Problemen met SQL Server-prestaties oplossen -2

  2. Waar kan ik mysql jdbc jar downloaden?

  3. Kolomkop verwijderen in het uitvoertekstbestand

  4. SQL Server - transacties worden teruggedraaid bij fout?