目前,我面临的问题是,当我将数据放入SQLite数据库时,将忽略来自MySQL转储的换行符。 MySQL转储的“ \ r \ n”将SQLite解释为字符串,因此我在应用程序中使用类似“ nomnomnom \ r \ n nomnomnom”的句子,而不是“ nomnomnom”

nomnomnom”。

所以我的问题是,SQLite正确读取换行符该怎么办?我已经在Google上进行了大量搜索,以查找SQLite需要什么样的换行语法,但是令我惊讶的是,我还没有找到明确的答案。

最佳答案

SQL没有反斜杠转义符(这是MySQL的怪癖)。

要将MySQL转储转换为真实的SQL,请使用编辑器或一些脚本将这些转义序列转换为:

\n -> new line
\r -> carriage return
\" -> "
\' -> '' (inside strings)


(在SQL字符串中,除'以外的每个字符均按字面意义进行解释。)

例如,此命令:

INSERT INTO MyTable VALUES('nomnomnom\r\n nomnomnom');


将被转换为:

INSERT INTO MyTable VALUES('nomnomnom
 nomnomnom');


或者,您可以使用SQL函数插入控制字符:

INSERT INTO MyTable VALUES('nomnomnom' || char(13) || char(10) || ' nomnomnom');

关于mysql - 换行符:从MySQL迁移到SQLite,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24626296/

10-12 16:14