PostgreSQL 用户经常遇到“postgres 列“X”不存在”的错误。这通常是由于在 SQL 查询中错误地引用列而引起的。 问题通常源于将字符串值视为列名。
解决方案在于在 SQL 语句中正确引用字符串文字。 表示文本数据的字符串需要单引号或双引号来区分它们与列名和表名。
这是一个更正的示例:
<code class="language-sql">INSERT INTO config_change_log (last_config_version, is_done, change_description) VALUES ('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');</code>
请注意“5837-2016-08-24_09-12-22”现在如何正确括在单引号中,将其标识为字符串值。
在 PostgreSQL 中处理字符串文字时请遵循以下准则:
'
) 转义字符串中的单引号。 例如:<code class="language-sql">INSERT INTO config_change_log (change_description) VALUES ('This text contains a ''single'' quote.');</code>
或
<code class="language-sql">INSERT INTO config_change_log (change_description) VALUES ("This text contains a 'single' quote.");</code>
以上是为什么我在 PostgreSQL 查询中收到'postgres 列 \'X\' 不存在”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!