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

MySQL TẢI THÔNG TIN DỮ LIỆU với CẬP NHẬT KHÓA DUPLICATE

Các bước sau có thể được sử dụng để mô phỏng chức năng này:

  1. Tạo một bảng tạm thời mới.

    CREATE TEMPORARY TABLE temporary_table LIKE target_table;
    
  2. Theo tùy chọn, hãy thả tất cả các chỉ số khỏi bảng tạm thời để tăng tốc độ.

    SHOW INDEX FROM temporary_table;
    DROP INDEX `PRIMARY` ON temporary_table;
    DROP INDEX `some_other_index` ON temporary_table;
    
  3. Tải CSV vào bảng tạm thời

    LOAD DATA INFILE 'your_file.csv'
    INTO TABLE temporary_table
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    (field1, field2);
    
  4. Sao chép dữ liệu bằng cách sử dụng CẬP NHẬT KHÓA DUPLICATE

    SHOW COLUMNS FROM target_table;
    INSERT INTO target_table
    SELECT * FROM temporary_table
    ON DUPLICATE KEY UPDATE field1 = VALUES(field1), field2 = VALUES(field2);
    
  5. Xóa bảng tạm thời

    DROP TEMPORARY TABLE temporary_table;
    

Sử dụng SHOW INDEX FROMSHOW COLUMNS FROM quá trình này có thể được tự động hóa cho bất kỳ bảng nhất định nào.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa lược đồ / cơ sở dữ liệu trong MySQL

  2. Làm thế nào để sử dụng kiểu int / long không dấu với Entity Framework?

  3. giới hạn truy vấn con mySQL

  4. JSON_OBJECT () - Tạo một đối tượng JSON từ danh sách các cặp khóa / giá trị trong MySQL

  5. Mã lỗi MySQL:1175 trong khi CẬP NHẬT trong MySQL Workbench