從CSV 資料載入具有NULL 值的MySQL 表
將CSV 資料匯入My 資料表時,正確處理NULL 值至關重要保持資料完整性。考慮以下情況:
您有一個名為「moo」的表,其中包含多個數字列,所有列都允許 NULL 值。從 CSV 檔案載入資料時,您會遇到列中的空白欄位。然而,MySQL 不是用 NULL 填充這些字段,而是為它們分配零。在嘗試區分 NULL 和零時,這可能會導致資料不一致。
要解決此問題,請使用以下方法:
下面是一個範例語句:
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,'') ;
在此語句中,第四個欄位(「four」)被讀入局部變數@vfour。如果 @vfour 包含空字串,則使用 NULLIF() 函數將表格中的第四個欄位設為 NULL。
如果有多列可能為空字段,則可以將它們全部讀入變數並使用多個 SET 語句來相應地處理 NULL 值。
以上是如何從包含空白欄位的 CSV 檔案中正確載入具有 NULL 值的 MySQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!