Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memuatkan Jadual MySQL dengan Nilai NULL dengan betul daripada Fail CSV yang Mengandungi Medan Kosong?

Bagaimana untuk Memuatkan Jadual MySQL dengan Nilai NULL dengan betul daripada Fail CSV yang Mengandungi Medan Kosong?

Barbara Streisand
Barbara Streisandasal
2024-12-26 12:00:19275semak imbas

How to Properly Load MySQL Tables with NULL Values from CSV Files Containing Empty Fields?

Memuatkan Jadual MySQL dengan Nilai NULL daripada Data CSV

Apabila mengimport data CSV ke dalam jadual MySQL, adalah penting untuk mengendalikan nilai NULL dengan betul untuk mengekalkan integriti data. Pertimbangkan situasi berikut:

Anda mempunyai jadual bernama "moo" dengan beberapa lajur berangka, yang kesemuanya membenarkan nilai NULL. Apabila memuatkan data daripada fail CSV, anda menghadapi medan kosong dalam lajur. Walau bagaimanapun, daripada mengisi medan ini dengan NULL, MySQL memberikan sifar kepada mereka. Ini boleh membawa kepada ketidakkonsistenan data apabila cuba membezakan antara NULL dan sifar.

Untuk menyelesaikan isu ini, gunakan pendekatan berikut:

  1. Baca medan kosong ke dalam pembolehubah setempat.
  2. Semak sama ada pembolehubah tempatan adalah rentetan kosong (bersamaan dengan NULL).
  3. Tetapkan nilai medan jadual sebenar kepada NULL jika pembolehubah tempatan adalah rentetan kosong.

Berikut ialah contoh pernyataan:

LOAD DATA INFILE '/tmp/testdata.txt'
INTO TABLE moo
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n"
(one, two, three, @vfour, five)
SET four = NULLIF(@vfour,'')
;

Dalam ini kenyataan, medan keempat ("empat") dibaca ke dalam pembolehubah tempatan @vfour. Jika @vfour mengandungi rentetan kosong, medan keempat dalam jadual ditetapkan kepada NULL menggunakan fungsi NULLIF().

Jika anda mempunyai berbilang lajur dengan medan yang berpotensi kosong, anda boleh membaca semuanya ke dalam pembolehubah dan gunakan berbilang penyataan SET untuk mengendalikan nilai NULL dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Memuatkan Jadual MySQL dengan Nilai NULL dengan betul daripada Fail CSV yang Mengandungi Medan Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn