Panduan ini menangani halangan biasa yang dihadapi semasa mengimport fail CSV ke dalam SQL Server menggunakan perintah BULK INSERT
. Kami akan mengkaji tiga masalah utama dan penyelesaiannya yang berkesan.
Cabaran 1: Koma Terbenam dalam Medan Data
Data CSV selalunya mengandungi koma dalam medan (cth., "John Doe, Jr."), yang BULK INSERT
ditafsirkan sebagai pemisah medan. Penyelesaiannya adalah untuk menentukan pembatas medan alternatif, seperti "||", dalam pernyataan BULK INSERT
:
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( FIELDTERMINATOR = '||' )</code>
Cabaran 2: Mengendalikan Petikan Berganda daripada Eksport Excel
Fail CSV yang dieksport dengan Excel kerap menggunakan petikan berganda untuk merangkum medan yang mengandungi koma. BULK INSERT
sememangnya tidak menyokong perkara ini. Kenyataan UPDATE
pasca import mengalih keluar petikan ini dengan cekap:
<code class="language-sql">UPDATE table SET column_with_quotes = REPLACE(column_with_quotes, '"', '')</code>
Cabaran 3: Mengenalpasti dan Mengurus Data Tidak Sah
Untuk menentukan baris dengan data bermasalah yang gagal diimport, gunakan pilihan ERRORFILE
. Ini mengarahkan BULK INSERT
untuk menulis butiran baris ini ke fail ralat yang berasingan:
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( ERRORFILE = 'C:\CSVData\SchoolsErrorRows.csv' )</code>
Dengan melaksanakan teknik ini, anda boleh menyelaraskan proses import CSV anda ke dalam SQL Server dan mengurus ketidakkonsistenan data yang berpotensi dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengimport Fail CSV dengan Cekap ke dalam Pelayan SQL, Mengendalikan Koma, Petikan Berganda dan Data Buruk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!