我在导入 sql lite 时遇到问题。 我正在将一个表从 Sql Server 导出到一个以 UTF-8 编码的平面文件中。 然后尝试将平面文件导入sqlite db。 DB 是 UTF-8 编码的。

这些行很麻烦(制表符分隔,行以 CRLF 结尾):

ID  w   posid   def
1234    bracket 40  "(" and ")" spec...

1234    bracket 40  Any of the characters "(", ")", "[", "]", "{", "}", and, in the area of computer languages, "<" and ">".

错误:

未转义字符

我试过用双引号“”替换引号“”,仍然不起作用。

导入设置:制表符分隔符

。分隔器 ” ”

.import data.txt 单词

sqlite 表架构:

CREATE TABLE words (ID integer NOT NULL, w TEXT  NOT NULL, posid integer NOT NULL, def TEXT NOT NULL);

更新:不知何故,在 Sql Server 中 def 字段的开头添加一个哈希工作:

更新词集 def = '#' + def

不知道为什么会这样。 这有效,但它在该字段中添加了一个不需要的字符。

#1楼 票数:3 已采纳

事实证明,当有换行符、引号或逗号时,导入可能会出错。

一种解决方案是用一些其他字符序列或字符代码(例如 char(1), char(2)...) 替换这些字符,并在运行之前确保字段不包含这些序列或代码进口。 例如,用 - -替换引号,然后导入,然后再次用引号替换 - -。 我有另一个表,其中包含一些带有换行符的文本字段,此解决方案似乎有效。

before import:

update [table] set comment = REPLACE(comment, CHAR(13), '-*-')
update [table] set comment = REPLACE(comment, CHAR(10), '%-$-%')
update [table] set comment = REPLACE(comment, '"', '%-&-%')

after import:

update [table] set comment = REPLACE(comment, '-*-', CHAR(13))
update [table] set comment = REPLACE(comment, '%-$-%', CHAR(10))
update [table] set comment = REPLACE(comment, '%-&-%', '"')

#2楼 票数:1

要在不更改输入数据的情况下执行此操作,请使用 ascii 模式并将列分隔符设置为制表符,将行分隔符设置为 CRLF。

.mode ascii
.separator "\t" "\r\n"

有关原因的解释,请参阅我对另一个问题的回答。

  ask by live-love translate from so

未解决问题?本站智能推荐:

2回复

SQLITE将双引号替换为单引号

如何用单引号替换双引号: 我试过了: 但这没用。
2回复

Android/SQLite-反引号,单引号或双引号?

假设我有这样的方法... } ...但是,例如String COL_NAME = "select";可能String COL_NAME = "select"; 和String TABLE_NAME = "from"; -这将中断查询。 因此,我显然需要在query字符串中用反引号,
1回复

尝试双引号转义表名时,PRAGMAtable_info不返回双引号转义列名的信息

我有一个表,其名称以双引号转义(“表”) 它有一列也用双引号转义(“ 03/06/17”) 当我做表格信息时 它总是返回-1。 但是当我执行普通查询时,我得到了该列。 然后使用
2回复

如何在Android的SQLLite中一起转义单引号和双引号?

如果string是,如何转义单引号和双引号 换句话说,如何对字符串中的单引号和双引号一起转义。 这个例子是这样的: 当字符串包含引号时,我得到sql lite异常。
3回复

如何使用iOS在sqlite中存储双引号

我使用sqlite数据库以脱机模式存储值。在这些值中,它包含带双引号的字符串。(例如: hai“ Man” ) 在SummaryDescription中包含值hai“ Man” 。但是我无法将该数据存储到数据库中。 如果删除此双引号,则可以存储此数据。还有其他方法可以存储这些类型的双引号字
1回复

我在sqlite中收到双引号错误

在 c/p 到 sqlite 编辑器之后,我正在 excel 中准备我的 SQL 查询。 我尝试了两个不同的编辑器,问题是一样的。 例如在 Excel 中,这是我的查询的外观 在sqlite编辑器中它变成 查询开始和结束都有额外的引号。 我知道这是因为“底线”,但如果我手动删除额外的引号,编辑器可
1回复

用单引号替换双引号以存储在SQLite中

我想用字符串中的单引号替换所有双引号。 我试过使用stringByReplacingOccurrencesOfString但它不起作用。 如何使它用单引号替换所有双引号,以便可以将其存储到数据库中?
1回复

从Sqlite数据库中读取双引号和单引号

在我的应用程序中,我试图将一些数据从sqlite数据库读取到UITextView中。 例如,此文本具有双引号和单引号: 她说:“凯蒂的钱包已经丢失了” 当我这样做时,我得到了奇怪的字符来代替双引号和单引号。 请帮我解决擦掉这些字符的解决方案。 谢谢。