Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sắp xếp lại các hàng trong bảng MySQL

Bạn cần thực hiện việc này theo hai bước:

UPDATE MyTable 
   SET `Order` = `Order` + 1 
 WHERE `Order` > (SELECT `Order` 
                    FROM MyTable 
                   WHERE ID = <insert-after-id>);

... sẽ thay đổi số thứ tự của mọi hàng xuống sâu hơn trong danh sách so với người bạn đang chèn.

Sau đó:

INSERT INTO MyTable (Name, `Order`)
VALUES (Name, (SELECT `Order` + 1 FROM MyTable WHERE ID = <insert-after-id>));

Để chèn hàng mới (giả sử ID là tự động tăng dần), với số thứ tự nhiều hơn số thứ tự của người bạn đang chèn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cắt bớt dữ liệu:Giá trị ngày giờ không chính xác:''

  2. MySQL DISTINCT trên GROUP_CONCAT ()

  3. Đếm các hàng khác trong bảng có cùng giá trị

  4. Khóa ngoại MySQL

  5. Bán kính của nhiều điểm vĩ độ / kinh độ