Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Definiowanie klucza złożonego z automatycznym przyrostem w MySQL

Nie możesz sprawić, by MySQL zrobił to za Ciebie automatycznie dla tabel InnoDB — musiałbyś użyć wyzwalacza lub procedury, albo użyć innego silnika bazy danych, takiego jak MyISAM. Automatyczne zwiększanie może być wykonane tylko dla jednego klucza podstawowego.

Powinno działać coś takiego jak poniżej

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. jak zapobiec dodawaniu ukośnika do cytatów przez bazę danych

  2. MySQL INSERT INTO table VALUES.. vs INSERT INTO table SET

  3. Typ danych wyniku SUM w MySQL

  4. Mysql Duplicate Rows (Duplikat wykryty przy użyciu 2 kolumn)

  5. GRUPA MySQL Według liczby