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

Trong MySQL, tôi có thể sao chép một hàng để chèn vào cùng một bảng không?

Tôi đã sử dụng kỹ thuật của Leonard Challis với một số thay đổi:

CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
UPDATE tmptable_1 SET primarykey = NULL;
INSERT INTO table SELECT * FROM tmptable_1;
DROP TEMPORARY TABLE IF EXISTS tmptable_1;

Là một bảng tạm thời, không bao giờ được có nhiều hơn một bản ghi, vì vậy bạn không phải lo lắng về khóa chính. Đặt nó thành null cho phép MySQL tự chọn giá trị, vì vậy không có nguy cơ tạo bản sao.

Nếu bạn muốn chắc chắn rằng bạn chỉ có một hàng để chèn, bạn có thể thêm LIMIT 1 vào cuối dòng CHÈN VÀO.

Lưu ý rằng tôi cũng đã thêm giá trị khóa chính (1 trong trường hợp này) vào tên bảng tạm thời của mình.



  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ách cải thiện hiệu suất AWS của MySQL gấp 2 lần trên Amazon RDS với cùng chi phí

  2. Làm thế nào để lưu trữ unicode trong MySQL?

  3. JDBC so với Dịch vụ web dành cho Android

  4. Tách giá trị từ một trường thành hai trường

  5. Cách lấy năm từ cột ngày giờ trong MySQL