csv - 将 CSV 文件导入临时表时,PostgreSQL 中 COPY 语句中列名附近的语法错误
问题描述
我尝试运行以下 COPY 语句:
\COPY tmp_table(名字、姓氏、电子邮件) FROM '/Desktop/persons.csv' WITH DELIMITER ';' CSV 标题;
但我得到下表:错误:“名称”处或附近的语法错误第 1 行:COPY tmp_table (first name, last name, e-mail) FROM STDIN...
有什么建议可以解决这个错误吗?
解决方案
您列出了三个列名称:last name
、first name
、e-mail
。
这些不是有效的 PostgreSQL 标识符。前两个包含空格字符,最后一个包含连字符。
您可以在名称中使用这些“特殊”字符,但必须用双引号括起这些名称。例如:
\COPY tmp_table ("first name", "last name", "e-mail") ...
有关详细信息,请参阅标识符和关键字。
推荐阅读
- javascript - Canvas msToBlob() 函数重新加载页面
- excel - 仅消息窗口的生命周期是多少?
- c - 如何同时输入用户名和年龄?
- java - getWidth()/getHeight() 和 getPreferredSize().width/height 有什么区别?
- rust - 如何修复“无法移出 `std::cell::Ref<'_,servo_url::ServoUrl>` 的取消引用”编译错误并关闭
- c# - 无需从每个属性调用标签的 NotifyPropertyChanged 即可更新标签的文本
- php - 我需要一些帮助 sql 注入
- android - 使用用户数据验证写入 Firebase (Kotlin)
- swift - 如何获取我当前 PDFPage 的位置?
- c# - C# - 使用 Python.Net 的 Python 互操作 [没有名为 '_ctypes' 的模块]