doudou3716 2017-09-30 13:33 采纳率: 100%
浏览 4783

PostgreSQL:关系不存在错误

也许这个错误可能是由 SCHEMA 的问题引起的,我试图修复它,但是我完全糊涂了。

下面是详细描述。

有一个单独的文件运行以下命令:

CREATE DATABASE weather;
CREATE SCHEMA public;
CREATE SCHEMA schema1;

SET search_path = schema1, public;

CREATE TABLE "Sities" (
                    Id SERIAL PRIMARY KEY,
                    name TEXT,
                    country TEXT,
                    weather_id_api int);

CREATE TABLE "Forecasts" (
                    Id SERIAL PRIMARY KEY,
                    city_id int,
                    time DATE,
                    temp INT,
                    humidity INT,
                    pressure INT);

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO postgres;
GRANT usage ON SCHEMA public TO postgres;

检查每个命令的执行是否有错误,这些命令执行起来没有问题。

在另一个文件中执行这样的命令:

SET search_path = schema1, public;
INSERT INTO "Sities" (name, country, weather_id_api)
            SELECT 'Orenburg', "RU", 234234
            WHERE NOT EXISTS (SELECT name FROM "Sities" WHERE name="Orenburg");

最后一个命令导致一个错误:

panic: pq: Relation "Sities" does not exist

goroutine 1 [running]: main.PostToDatabase(0x11731ee0) D:/Go/src/WeatherSoket/main.go:135 +0x40f main.Update() D:/Go/src/WeatherSoket/main.go:150 +0x52 main.main() D:/Go/src/WeatherSoket/main.go:165 +0xbe exit status 2

  • 写回答

1条回答 默认 最新

  • dongping4273 2017-09-30 14:04
    关注

    This works - try to check quotes " and apostrophes ':

    SET search_path = schema1, public;
    
    INSERT INTO "Sities" (name, country, weather_id_api)
                SELECT 'Orenburg', 'RU', 234234
                WHERE NOT EXISTS (SELECT name FROM "Sities" WHERE name='Orenburg');
    

    http://sqlfiddle.com/#!17/5abd9/4

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂