簡體   English   中英

換行符:從MySQL遷移到SQLite

[英]Newlines: Migration from MySQL to SQLite

當前,我面臨的問題是,當我將數據放入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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM