Mysql 上载时从字符串中删除换行符
使用以下命令创建了一个新表:Mysql 上载时从字符串中删除换行符,mysql,sql,load-data-infile,Mysql,Sql,Load Data Infile,使用以下命令创建了一个新表: LOAD DATA LOCAL INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/new_tbl_1.csv' INTO TABLE tbl_1 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS 我发现我无法加入此表的最后一列,因为添加了一个额外的字符 例如,如果
LOAD DATA LOCAL INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/new_tbl_1.csv'
INTO TABLE tbl_1
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
我发现我无法加入此表的最后一列,因为添加了一个额外的字符
例如,如果我在显示“蓝色”的记录上选中length(field_1)
,它将返回长度4,除非它是表中的最后一个字段,在这种情况下,它将返回长度5
复制可见记录并粘贴到电子表格时,粘贴方式如下:
'Blue\r'
我上传不正确吗?我如何解释此换行符,使其不会中断连接?正如评论所指出的,在windows上,它不是:
以“\n”结尾的行。
它需要额外的\r
例如:以“\r\n”结尾的行。它是一个CR字符。将\n
更改为\r\n
@Barmar beautiful。是否有助于理解添加它的原因以及何时使用这两个命令\r\n?没有添加,它在文件中。在Windows上,CRLF是正常的换行顺序。Windows样式-换行是'\r\n'
。Unix样式-换行符是'\n'
。任何情况下都可以考虑到这一点,并删除多余的'\r'
(如果存在)。