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

Как да създам последователност в MySQL?

Това е решение предложено от ръководство за MySQl :

Ако expr е даден като аргумент на LAST_INSERT_ID(), стойността на аргумента се връща от функцията и се запомня като следващата стойност, която трябва да бъде върната от LAST_INSERT_ID(). Това може да се използва за симулиране на последователности:

Създайте таблица, която да държи брояча на последователностите и да го инициализирате:

    mysql> CREATE TABLE sequence (id INT NOT NULL);
    mysql> INSERT INTO sequence VALUES (0);

Използвайте таблицата, за да генерирате последователни номера като този:

    mysql> UPDATE sequence SET id=LAST_INSERT_ID(id+1);
    mysql> SELECT LAST_INSERT_ID();

Инструкцията UPDATE увеличава брояча на последователностите и кара следващото извикване на LAST_INSERT_ID() да върне актуализираната стойност. Инструкцията SELECT извлича тази стойност. Функцията mysql_insert_id() C API също може да се използва за получаване на стойността. Вижте раздел 23.8.7.37, „mysql_insert_id()“.

Можете да генерирате поредици, без да извиквате LAST_INSERT_ID(), но полезността от използването на функцията по този начин е, че стойността на идентификатора се поддържа в сървъра като последната автоматично генерирана стойност. Той е безопасен за много потребители, тъй като множество клиенти могат да издадат декларацията UPDATE и да получат своя собствена стойност на последователността с оператора SELECT (или mysql_insert_id()), без да засягат или да бъдат засегнати от други клиенти, които генерират свои собствени стойности на последователността.



  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 8

  2. Постигане на MySQL Failover &Failback на Google Cloud Platform (GCP)

  3. Писане в MySQL база данни с панди с помощта на SQLAlchemy, to_sql

  4. ГРЕШКА:Грешка 1005:Не може да се създаде таблица (errno:121)

  5. Най-добри практики на mysqldump:Част 2 – Ръководство за миграции