在我的 mysql 表中,我有一个引用字段。用户正在那里输入引用,但他们使用回车。我有一个脚本将表导出到 csv,然后导入到另一个 mysql 数据库。问题出在我将它导入新数据库的脚本中,它说新行是/n(lines terminated by '\n'
)。现在,当我导入它并且在 ref 字段中有一个输入时,它认为这是一个新行。我在 google 上搜索了很多选项,并尝试在 ref 字段中替换它,但它仍然可见。
我试过的 mysql 查询确实更新了几行但不是所有内容:
UPDATE tablename SET `ref` = REPLACE(`ref`, '\n', '') WHERE INSTR(`ref`, '\n') > 0;
UPDATE tablename SET `ref` = REPLACE(`ref`, '\r', '') WHERE INSTR(`ref`, '\r') > 0;
这不会返回任何行,我这样做只是为了检查 ascii 代码,但是如果我在 notepad++ 中将导出的 csv 文件与所有字符分开,我可以清楚地看到问题是 [CR][LF],我附上了一个这个的打印屏幕。
SELECT * FROM tablename WHERE `ref`LIKE CONCAT('%',CHAR(13 ),'%')
我必须在我的下载脚本中做什么才能找到并替换它?
最佳答案
请在此处查看同一问题的答案:Removing carriage returns in Mysql DB
UPDATE xxxxxx set body = replace(body,'\r\n','');
UPDATE xxxxxx set body = replace(body,'\n','');
如果该答案对您有用,请将其归功于 LiamB。
关于mysql - 替换mysql中的CR字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34337594/