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

Направете автоматично увеличение за запълване на изтрития номер

Тогава не искате да използвате колона с автоматично увеличение. Ако искате да попълните пропуските, задайте го на int колона и обработвайте логиката в съхранената процедура или вмъкване.

РЕДАКТИРАНЕ:

Тъй като това е int колона, можете да ги подредите числово. Просто направете SELECT Ids FROM Table Order By Ids за да получите всички идентификатори и да проверите за пропуските в върнатия набор от данни.

Вероятно има по-плавен начин да направите това, но бихте могли да завъртите резултатите с курсор и да ги сравните с INT променлива, която се увеличава в целия цикъл. Когато откриете пропуск (няма съвпадение) - прекъснете цикъла и използвайте този INT стойност като вашия INSERT документ за самоличност.

Няма да напиша вашия код вместо вас, но това са няколко стъпки, които да ви насочат в правилната посока. Това трябва да е наистина елементарна част от програмирането, с която трябва да можете да се справите.

Надявам се това да помогне.

РЕДАКТИРАНЕ №2:

Както други отбелязаха, най-добрият ви ход е просто да оставите празнините. Освен ако няма някакво ограничение на масата по отношение на дължината и идентификаторите ТРЯБВА да са 1-30 (странно), оставете го на мира. Няма полза от попълването на празнините.

РЕДАКТИРАНЕ №3:

Още нещо, което трябва да имате предвид:ако наистина трябва да запазите 1-30 по някаква причина, не изтривайте редовете си. Добавете колона, за да маркирате всеки ред като активен или не и след това просто актуализирайте редовете, които са неактивни, когато трябва, и след това ги маркирайте като активни. Това е МНОГО хакерски, но вашето изискване е малко хакерско, така че...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP PDO заявка за динамично актуализиране към MYSQL

  2. PDO еквивалент на mysql_num_rows или mssql_num_rows

  3. Грешка MySQL Table не съществува, но съществува

  4. Генериране на кратък уникален идентификационен номер на PHP с помощта на auto_increment?

  5. Как да накарам MySql 8 да работи с laravel?