sql >> Databáze >  >> RDS >> Mysql

Definování složeného klíče s automatickým přírůstkem v MySQL

Nemůžete nechat MySQL, aby to udělalo za vás automaticky pro tabulky InnoDB – museli byste použít spouštěč nebo proceduru nebo použít jiný DB engine, jako je MyISAM. Automatické zvýšení lze provést pouze pro jeden primární klíč.

Něco jako následující by mělo fungovat

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. Syntaxe SQL SELECT – řazeno podle DBMS

  2. Jak vytvořit novou databázi s již nainstalovaným rozšířením hstore?

  3. Jak získat aktuální datum a čas v MySQL

  4. Cizí klíče v MySQL?