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

Защо понякога има една или повече пропуски в стойността на колоната за автоматично нарастване?

Изглежда, че има нещо общо с начина, по който се формират вашите инструкции INSERT. Вижте тази цигулка , който е леко модифициран от вашия пример. В този случай не получавате пропуски (но вероятно ще получите, ако добавите още вмъквания... всъщност е така .).

РЕДАКТИРАНЕ:След малко повече копаене открих, че не получавате пропуски, ако използвате двигателя MyISAM (за разлика от InnoDB). И така, може би това е недостатък или любопитен избор на дизайн в InnoDB...?

РЕДАКТИРАНЕ 2:Допълнително копаене разкри този бъг , подадена срещу системата за съхранение InnoDB. Съвпада много точно с случая на използване на оригиналния въпрос. Не е предоставено решение за грешката, но изглежда, че едно решение е да се зададе innodb_autoinc_lock_mode на 0 във вашия файл my.cnf преди стартиране на mysqld.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да променя всички празни низове на NULL в таблица?

  2. MySQL формат за дата

  3. MySQL и Matlab

  4. намерете цялото име с помощта на mysql заявка, която започва с буквата 'a'

  5. Създаване на нова таблица в Laravel въз основа на въвеждане от потребителя?