Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
换行符:从MySQL迁移到SQLite_Mysql_Sqlite - Fatal编程技术网

换行符:从MySQL迁移到SQLite

换行符:从MySQL迁移到SQLite,mysql,sqlite,Mysql,Sqlite,目前我面临的问题是,当我将数据放入SQLite数据库时,MySQL转储中的换行将被忽略。MySQL转储的“\r\n”将SQLite解释为字符串,因此我在应用程序中使用了类似“nom\r\n nom”的语句,而不是“nom” 诺姆” 所以我的问题是,为了让SQLite正确读取换行符,我必须做些什么?我已经在谷歌上搜索了很多,想知道SQLite需要什么样的换行语法,但令我惊讶的是,我没有找到任何明确的答案。SQL没有反斜杠转义(这是MySQL的一个怪癖) 要将MySQL转储转换为真正的SQL,请使用

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

诺姆”


所以我的问题是,为了让SQLite正确读取换行符,我必须做些什么?我已经在谷歌上搜索了很多,想知道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中创建转储以及如何将转储导入SQLite?对于转储,我使用mysqldump并将其导入SQLite数据库SQLite管理器。感谢您的回答。这显然是向前迈出的一步。我已经编写了一个php脚本来将\'转换为“”,但是如何将\n和\r转换为php中真正的换行符?这个问题不是关于php字符串处理的。要提出新问题,请使用“提问”按钮。