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

Cú pháp MySQL để chèn một hàng mới vào các hàng giữa?

Bạn sẽ phải chia nó thành 2 hoạt động.

START TRANSACTION;

UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;

INSERT INTO table1 (id, value) VALUES (3, 300);

COMMIT;

Lưu ý rằng bạn cần order by trong câu lệnh cập nhật, vì vậy nó sẽ bắt đầu với id cao nhất trước.

Một ý tưởng khác là khai báo id dưới dạng decimal(10,1) và chèn giá trị 2.5 dưới dạng id trong khoảng từ 2 đến 3.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết hợp hiệu quả trên các phạm vi khoảng thời gian trong SQL

  2. Phát hiện biểu tượng cảm xúc trong chuỗi

  3. Nhận phần trăm Đếm (*) cho số lượng tất cả các mục trong GROUP BY

  4. Thực hiện so sánh LIKE trên trường INT

  5. kết quả truy vấn tổng hợp mysql với GROUP BY