在 MySQL 中,LOAD DATA INFILE 语句可以用于将数据从文本文件加载到 MySQL 表中。如果您的文本文件中包含空字符串,并且您希望将其加载到表中并将其解释为 NULL 值,您可以在 LOAD DATA INFILE 语句中使用 SET 子句来实现。
以下是一个示例 LOAD DATA INFILE 语句:
LOAD DATA INFILE '/path/to/your/file.txt'
INTO TABLE your_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(col1, col2, @var1, col3)
SET col4 = NULLIF(@var1, '');
在上述语句中,我们使用 SET 子句将 @var1 变量中的值转换为 NULL,如果它包含空字符串,则使用 NULLIF() 函数将其转换。您可以将 SET 子句用于所有需要解释空字符串为 NULL 值的列。
注意,使用 LOAD DATA INFILE 导入大量数据时可能会导致性能问题。如果您需要导入大量数据,建议使用 LOAD DATA LOCAL INFILE 或将数据加载到临时表中,然后使用 INSERT INTO SELECT 语句将其插入到目标表中。
希望这些信息对您有所帮助。如果您有任何进一步的问题,请随时提问。