問題:
從包含資料時使用LOAD DATA INFILE 指令寫入MySQL 表時,MySQL 會將0 指派給空白欄位而不是NULL,即使列定義了 NULL 預設值。
解決方案:
要正確載入空白欄位的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,'') ;
解釋:
附加說明:
如果所有欄位都可能為空,請將它們全部讀入局部變數並使用多個SET 語句有條件地指派NULL 值。
以上是如何使用 LOAD DATA INFILE 將 NULL 值(而不是零)從 CSV 載入到 MySQL 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!