我尝试将数据从CSV导入MySQL。为此,我运行mysql并使用以下命令登录:
mysql -u USER -p --local-infile=1 DATABASE
并导入数据:
LOAD DATA LOCAL INFILE '/home/USER/FILENAME.csv'
INTO TABLE TABLENAME
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
首先我认为一切都很好,因为数据已加载并且看起来很好,但后来我遇到了一些问题,发现我的longtext列中的字符串限制为32756个字符。所以我确定我忘记了一些事情,但在得知之前无法找到答案:(
答案 0 :(得分:0)
如果未启用严格的SQL模式,并为BLOB或分配值 TEXT列超出列的最大长度,值为 截断以适应并生成警告。截断 非空格字符,您可以导致错误发生(而不是 警告)并使用严格的SQL模式禁止插入值。
LONGBLOB,LONGTEXT L + 4字节,其中L <1。 2 ^ 32
我的猜测是您正在使用多字节编码,因此遇到长度问题。在这种情况下,您还没有将strict SQL mode设置为错误输出。希望有所帮助,并且如果你还有其他问题一如既往,请留下评论。