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

Câu lệnh chèn-chọn nhiều hàng trong Mysql với last_insert_id ()

Đối với truy vấn cuối cùng, hãy sử dụng cái này

INSERT INTO dbNEW.`user` (userID, entityID, other)  
SELECT user_id, entityID, other
FROM
(
    SELECT user_id, @key + @rn entityID, other, @rn := @rn + 1
    FROM (select @rn:=0) x, dbOLD.`user`
    order by user_id
) y;

LAST_INSERT_ID () trong MySQL là id ĐẦU TIÊN được tạo trong một lô, không giống như SCOPE_IDENTITY () trong SQL Server là id CUỐI CÙNG. Vì đây là hàng đầu tiên, chúng tôi tăng từng hàng bằng cách sử dụng biến @rn, bắt đầu từ addition=0 cho hàng đầu tiê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. Trong MySQL, làm thế nào để xây dựng chỉ mục để tăng tốc truy vấn này?

  2. Lỗi trong MySQL khi đặt giá trị mặc định cho DATE hoặc DATETIME

  3. Mảng tìm nạp MySQL thêm các giá trị trùng lặp?

  4. Cách lấy Tên người giám sát thay vì UserID + INNER JOIN trong MYSQL

  5. mySQL ::chèn vào bảng, dữ liệu từ bảng khác?