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:
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!