Melangkau Lajur Semasa CSV Import ke dalam Jadual MySQL
Mengimport data daripada fail CSV ke dalam jadual MySQL ialah tugas biasa. Walau bagaimanapun, kadangkala anda mungkin menghadapi situasi di mana anda perlu melangkau lajur tertentu. Artikel ini menyediakan penyelesaian untuk melangkau lajur yang tidak diingini dan memetakan data yang tinggal dengan betul.
Senario
Pertimbangkan fail CSV dengan 11 lajur dan jadual MySQL dengan 9 lajur . Matlamatnya adalah untuk memetakan lajur 1-8 daripada fail CSV terus ke 8 lajur pertama jadual MySQL. Lajur 9 dan 10 dalam fail CSV perlu dilangkau, dan Lajur 11 harus dipetakan ke Lajur 9 dalam jadual MySQL.
Perintah Asal
SQL awal arahan yang digunakan, yang ditunjukkan di bawah, hanya memetakan 9 lajur pertama fail CSV kepada 9 lajur dalam jadual MySQL.
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n'
Penyelesaian
Kepada langkau lajur semasa import, anda boleh menggunakan teknik yang diterangkan dalam dokumentasi MySQL. Dengan memperuntukkan lajur yang tidak diingini kepada pembolehubah pengguna dalam penyata LOAD DATA, anda boleh membuangnya dengan berkesan. Perintah yang diubah suai di bawah menunjukkan teknik ini:
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (column1, @dummy, column2, @dummy, column3, column4, column5, column6, column7, column8, @dummy, @dummy, column11)
Dalam perintah yang dipertingkatkan ini, lajur yang tidak diingini (9 dan 10) diberikan kepada pembolehubah pengguna @dummy dan dibuang semasa proses import. Akibatnya, lajur yang tinggal dipetakan dengan betul seperti yang dikehendaki: lajur 1-8 daripada fail CSV dipetakan ke 8 lajur pertama jadual MySQL, manakala lajur 11 dipetakan ke lajur 9 jadual MySQL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melangkau Lajur Semasa Import CSV ke dalam Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!