Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memuatkan Nilai NULL, Bukan Sifar, dari CSV ke MySQL menggunakan LOAD DATA INFILE?
Masalah:
Apabila memuatkan data daripada fail CSV dengan medan kosong ke dalam jadual MySQL menggunakan arahan LOAD DATA INFILE, MySQL memberikan 0 kepada medan kosong dan bukannya NULL, walaupun apabila lajur ditakrifkan dengan nilai lalai NULL.
Penyelesaian:
Untuk memuatkan nilai NULL dengan betul untuk medan kosong, baca medan bermasalah ke dalam setempat pembolehubah dan kemudian secara bersyarat tetapkan nilai medan sebenar kepada NULL jika pembolehubah itu kosong:
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,'') ;
Penjelasan:
Nota Tambahan:
Jika semua medan berpotensi kosong, baca semuanya ke dalam pembolehubah setempat dan gunakan berbilang SET penyataan untuk menetapkan nilai NULL secara bersyarat.
Atas ialah kandungan terperinci Bagaimana untuk Memuatkan Nilai NULL, Bukan Sifar, dari CSV ke MySQL menggunakan LOAD DATA INFILE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!