关于LOAD DATA LOCAL INFILE
有这样一个文件users.txt
- HTML code
user001中文 e10adc3949ba59abbe56e057f20f883e NULLuser002 e10adc3949ba59abbe56e057f20f883e NULLuser003 e10adc3949ba59abbe56e057f20f883e NULLuser004 e10adc3949ba59abbe56e057f20f883e NULLuser005 e10adc3949ba59abbe56e057f20f883e NULLuser006 e10adc3949ba59abbe56e057f20f883e NULLuser007 e10adc3949ba59abbe56e057f20f883e NULLuser008 e10adc3949ba59abbe56e057f20f883e NULLuser009 e10adc3949ba59abbe56e057f20f883e NULLuser010 e10adc3949ba59abbe56e057f20f883e NULLuser008 e10adc3949ba59abbe56e057f20f883e NULLuser009 e10adc3949ba59abbe56e057f20f883e NULLuser010 e10adc3949ba59abbe56e057f20f883e NULL
用下面的语句导入到users表中,
- SQL code
LOAD DATA LOCAL INFILE "D:/users.txt" INTO TABLE users FIELDS TERMINATED BY "\t" ENCLOSED BY "" LINES TERMINATED BY "\n" STARTING BY "" (username, password, avatar)
但是有个问题,被导入的数据,其中NULL值,被做为字符串"NULL"导了进去,
有没有办法把NULL这一列做为mysql的NULL,而不是字符串null导入?
[解决办法]
- SQL code
LOAD DATA LOCAL INFILE "D:/users.txt" INTO TABLE users FIELDS TERMINATED BY "\t" ENCLOSED BY "" LINES TERMINATED BY "\n" STARTING BY "" (username, password, @x) set avatar=if(@x='NULL',null,@x);