Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
如何在PostgreSQL中转义管道字符(';';)_Postgresql_Import_Special Characters_Postgresql 9.5 - Fatal编程技术网

如何在PostgreSQL中转义管道字符(';';)

如何在PostgreSQL中转义管道字符(';';),postgresql,import,special-characters,postgresql-9.5,Postgresql,Import,Special Characters,Postgresql 9.5,因此,我尝试将一系列管道分隔文件导入PgAdmin III(使用PostgreSQL 9.5 DB) 我最终得到了一个错误: ERROR: extra data after last expected column SQL state: 22P04 基本上,这行有25列,其中应该有17列。。。为什么?我发现在几个字段中有管道(“|”)字符 我正在使用以下命令导入: START TRANSACTION; copy drugs FROM 'path/to/source_file.rrf' (DEL

因此,我尝试将一系列管道分隔文件导入PgAdmin III(使用PostgreSQL 9.5 DB)

我最终得到了一个错误:

ERROR: extra data after last expected column
SQL state: 22P04
基本上,这行有25列,其中应该有17列。。。为什么?我发现在几个字段中有管道(“|”)字符

我正在使用以下命令导入:

START TRANSACTION;
copy drugs FROM 'path/to/source_file.rrf' (DELIMITER '|', FORMAT TEXT);
COMMIT;
我指的是词汇结构,虽然我可能做错了

我已经尝试用“/|”和“//|”替换字段中的管道字符,但到目前为止,这两个字符都会产生与上述相同的错误消息


非常感谢,如果您需要更多信息,请告诉我

您需要引用整个列的值,才能将分隔符用作字段数据的一部分。例如:

filed_one|field_two|with_a_delimiter_inside|field_three
应该转化为

filed_one|"field_two|with_a_delimiter_inside"|field_three

另一个选项是使用反斜杠转义分隔符字符。例如:

filed_one|field_two\|with_a_delimiter_inside|field_three

你可以在

中找到详细信息。你能给我们展示一些“坏”数据的例子吗?这是一个示例字段:
VX-703是一种抗细胞因子疗法,其中p38 MAP激酶抑制剂有效抑制LPS刺激的TNF |[alpha]|、IL-6和IL-1 |[beta]|产生。
你的最后一个答案,加上一个“\”就行了。我发现我的Python代码两次意外地与“\\\”匹配,而不是将其设置为“\\\\”,而是将其设置为“\\\\”。非常感谢!
filed_one|field_two\|with_a_delimiter_inside|field_three