如何向data.sql中PostgreSQL的problem表DETAILS列插入多行文本?
向PostgreSQL的表列插入多行文本的方法
下面是几种在PostgreSQL中向problem表的DETAILS列插入多行文本的实用方法:
1. 使用美元引号(推荐)
PostgreSQL支持美元引号语法,无需转义字符串里的单引号,直接就能写多行内容,非常方便:
INSERT INTO problem (DETAILS) VALUES ($$这是第一行文本 这是第二行文本 这里还可以包含单引号'或者双引号",无需转义$$);
你也可以给美元引号加自定义标记(避免和内容里的$$冲突):
INSERT INTO problem (DETAILS) VALUES (<<<TEXT 这是多行文本的第一行 第二行内容,包含特殊字符'和" 第三行结束 TEXT);
2. 传统单引号转义方式
如果习惯标准SQL写法,需要把字符串里的单引号转义为两个单引号,同时可以直接换行书写:
INSERT INTO problem (DETAILS) VALUES ('这是第一行文本 这是第二行文本 这里的单引号要写成''才能正常插入');
3. 从外部文本文件导入
如果多行文本已经保存在外部文件(比如details_content.txt),可以用psql的\copy命令快速导入:
-- 在psql终端执行 \copy problem(DETAILS) FROM '/绝对路径/details_content.txt' WITH (FORMAT text);
或者用服务器端的COPY命令(需要文件在PostgreSQL服务器可访问的路径):
COPY problem(DETAILS) FROM '/服务器上的文件路径/details_content.txt';
内容的提问来源于stack exchange,提问作者i1ravenov
相关产品推荐
相关产品推荐

