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

Вмъкнете възможно най-ниското уникално цяло число по атомен начин в MySql

Аз бихне използвайте това, за да попълните "липсващи" идентификатори, но това трябва да работи:

Insert Into t (id)
  Select Coalesce( Min(t.id) + 1, 0 )
  From t
  Left Join t As t2 On ( t2.id = t.id + 1 )
  Where t2.id Is Null

Вземете всички id s където id + 1 не съществува (Left Join ) и вмъкнете Min(id)+1 или 0 ако не е наличен.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Зареждане на файл с данни, разлика между Windows и Linux

  2. MySQL 'user_id' в където клаузата е двусмислен проблем

  3. MySQL премахва всички индекси от таблицата

  4. MySQL автоматично прехвърля/преобразува низ в число?

  5. Laravel Eloquent query JSON колона с Where In?