Mysql
 sql >> база данни >  >> RDS >> Mysql

Дефиниране на композитен ключ с автоматично увеличение в MySQL

Не можете да накарате MySQL да прави това автоматично вместо вас за InnoDB таблици - ще трябва да използвате тригер или процедура или да използвате друга DB машина като MyISAM. Автоматично увеличаване може да се направи само за един първичен ключ.

Нещо като следното трябва да работи

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. Как да актуализирате сериализирани данни в MySQL

  2. КЪДЕТО всичко НЕ Е NULL

  3. Функция MySQL LOG10() – Връщане на логаритъм на база 10 на стойност

  4. Изявление VALUES в MySQL

  5. JSON_ARRAY_INSERT() – Вмъкване на стойности в JSON масив в MySQL