代码之家  ›  专栏  ›  技术社区  ›  nad

PostgreSQL错误列不存在引用列值

  •  0
  • nad  · 技术社区  · 4 年前

    我有一张桌子 projects 在postgreSQL中,如下所示

    id.    project_name.   col3.  col4
    1111.   test.          ...    ...
    

    我想为一个新行插入一个新行 id 身份证件

    INSERT INTO projects(id, project_name)
    VALUES("1234", "Test_Project")
    ON CONFLICT (id)
    DO NOTHING
    

    Query 1 ERROR: ERROR:  column "1234" does not exist
    LINE 2: VALUES("1234", "Test_Project_...
    

    这个

    INSERT INTO projects(id, project_name)
        VALUES('1234', 'Test_Project')
        ON CONFLICT (create unique index on projects(id))
        DO NOTHING
    

    我觉得这是个错误

    Query 1 ERROR: ERROR:  syntax error at or near "create"
    LINE 3: ON CONFLICT (create unique index on projects(id...
    

    我是新来的,所以我肯定错过了一些明显的东西。

    1 回复  |  直到 4 年前
        1
  •  3
  •   GMB    4 年前

    对文字字符串使用单引号。双引号代表标识符(如列名或表名)-因此出现以下错误:

    INSERT INTO projects(id, project_name)
    VALUES('1234', 'Test_Project')
    ON CONFLICT (id)
    DO NOTHING
    

    id 属于 integer 数据类型。如果是这样,请不要引用:

    INSERT INTO projects(id, project_name)
    VALUES(1234, 'Test_Project')
    ON CONFLICT (id)
    DO NOTHING