Melangkau Lajur dalam Import CSV ke MySQL
Apabila mengimport fail CSV ke dalam jadual MySQL menggunakan arahan LOAD DATA INFILE, adalah perkara biasa untuk menghadapi senario di mana bilangan lajur dalam fail CSV berbeza daripada lajur dalam jadual sasaran. Dalam kes sedemikian, melangkau lajur tertentu menjadi perlu.
Masalah:
Andaikan anda mempunyai fail CSV dengan 11 lajur dan jadual MySQL dengan hanya 9 lajur. Anda ingin memetakan lajur 1-8 fail CSV terus ke lajur 1-8 jadual, tetapi langkau dua lajur seterusnya dan peta lajur 11 fail CSV ke lajur 9 jadual.
Penyelesaian:
Untuk melangkau lajur semasa proses import, anda boleh menggunakan ciri MySQL untuk memberikan nilai kepada pengguna pembolehubah tanpa memasukkannya ke dalam lajur jadual. Ini dicapai dengan memberikan lajur yang dilangkau kepada pembolehubah pengguna, dengan berkesan mengabaikan nilainya.
Berikut ialah perintah SQL yang diubah suai yang mencapai pemetaan yang dikehendaki:
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (column1, @dummy1, column2, @dummy2, column3, column4, column5, column6, column7, column8, @dummy3, column9);
Dalam arahan yang diubah suai ini, dua pengguna pembolehubah (@dummy1 dan @dummy2) digunakan untuk menangkap nilai lajur kesembilan dan kesepuluh dalam fail CSV masing-masing, tetapi nilai ini tidak diberikan kepada mana-mana lajur jadual. Akibatnya, ia dilangkau dengan berkesan, membenarkan lajur 11 fail CSV dipetakan dengan betul ke lajur 9 jadual.
Atas ialah kandungan terperinci Bagaimana untuk Melangkau Lajur Semasa Import CSV ke MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!