Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mempertahankan/memperbarui urutan catatan di mysql

Apakah hal seperti ini akan berhasil?

UPDATE items 
SET position = CASE position 
  WHEN $oldpos THEN $newpos 
  ELSE position + SIGN($oldpos-$newpos)
 END
WHERE position BETWEEN LEAST( $newpos, $oldpos ) 
                AND GREATEST( $newpos, $oldpos );

Saya mengujinya beberapa kali dan tampaknya berhasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat menambahkan driver mysql ke jboss

  2. Apakah ada alasan bagus yang tidak boleh saya gunakan - (tanda hubung) dalam nama bidang di MySQL?

  3. Kolom Tabel Mysql Tidak Boleh Null

  4. Mengubah ID pengguna menjadi nama (tabel terpisah) di PHP

  5. Tipe Data ENUM (Enumeration) di MySQL:12 Fakta Teratas dan Tips Berguna