【问题标题】:postgres column "X" does not existpostgres 列“X”不存在
【发布时间】:2016-09-13 15:42:58
【问题描述】:

我有这个 postgrse 代码:

CREATE TABLE IF NOT EXISTS config_change_log
(
  id                    serial primary key,
  last_config_version   varchar(255) NOT NULL,
  is_done               Boolean NOT NULL DEFAULT '0',
  change_description     varchar(255),
  timestamp timestamp   default current_timestamp
);

INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES("5837-2016-08-24_09-12-22", false, "{ 'key':'value'}");

我得到这个错误:

psql:createConfigChangeLog.sql:11: ERROR:  column "5837-2016-08-24_09-12-22" does not exist
LINE 2: VALUES("5837-2016-08-24_09-12-22", false, "{ 'key':'value'}"...

怎么可能?这是一个值而不是 column.postgr

【问题讨论】:

  • 使用单引号,而不是双引号。

标签: sql postgresql string-literals


【解决方案1】:

对字符串常量使用single quotes

INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');

您还可以通过将数据加倍来转义 single quotes

【讨论】:

    猜你喜欢
    • 2014-11-07
    • 1970-01-01
    • 2019-01-16
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多