【问题标题】:Postgres error updating column dataPostgres错误更新列数据
【发布时间】:2015-06-10 18:56:01
【问题描述】:

尝试在表上运行更新脚本,但出现错误:

错误:列“ok”不存在 第 2 行:设置 first_name="ok"、last_name="pk"、email="ooo"、phone="...

CREATE TABLE employee (
   employee_id      SERIAL PRIMARY KEY,
   first_name       varchar(255)                NOT NULL,
   last_name        varchar(255)                NOT NULL,
   email            varchar(255)                NOT NULL,
   phone            varchar(255)
);


INSERT INTO employee(
            first_name, last_name, email, phone)
    VALUES ('Kyle', 'Belanger', 'kbelanger@ok.com', '(240) 298-4664');


UPDATE "employee"
   SET first_name="ok", last_name="pk", email="ooo", phone="000"
 WHERE employee_id = 1;

【问题讨论】:

标签: sql postgresql sql-update


【解决方案1】:

表名不用双引号"employee",列值用单引号

UPDATE employee   
   SET first_name='ok', last_name='pk', email='ooo', phone='000'
 WHERE employee_id = 1;

See Working Example

【讨论】:

    【解决方案2】:

    试试下面的sql:

     UPDATE employee
       SET first_name='ok', last_name='pk', email='ooo', phone='000'
     WHERE employee_id = 1;
    

    表名用双引号括起来,这是不允许的。

    【讨论】:

    • 即使列值也只需要单引号,不需要双引号
    • 我不确定,但上述查询在 sql fiddle 中有效。
    • 看到这个,你的查询的 SQL 小提琴sqlfiddle.com/#!15/93c2a/10。分享你的小提琴,哪个有效?
    • 我改了。我确实在 sql fiddle 中用单引号运行了它。感谢您指出。 (为您的建议投票:))
    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    相关资源
    最近更新 更多