All,
我正在尝试将长文本条目注入 SQLite 数据库的 TEXT 字段中。该文本中有新行(即它跨越多个段落)。
如果我手动执行 INSERT,我可以显示新行:
INSERT INTO "LOGENTRY" VALUES(5,40,'PLACE','line1
line2
line4
',1283990533315,'4A','TEXT','',NULL);
但是,如果我在 CSV 文件中有等效文本并尝试将其导入到表中,则会收到一个错误,指出它期望的列数多于现有的列数(一旦遇到新行,程序就会假定它是行的末尾)输入,因此缺少列)。
这可能吗?或者是手动执行每个 INSERT 的唯一方法?
您的问题是 csv 格式:sqlite 不支持包含换行符的值。
在 sqlite 方言中:
逗号分隔字段
双引号可用于对包含逗号的字段进行分组。
新行分隔记录
您需要转义/删除新行,或者使用其他更合适的文件格式。
以下 (sed) 正则表达式将“删除”不需要的换行符
s/\(,"[^",]*\)$/\1\1/g
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)