gpt4 book ai didi

PostgreSQL:关系不存在错误

转载 作者:IT王子 更新时间:2023-10-29 01:44:36 24 4
gpt4 key购买 nike

也许这个错误可能是由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

最佳答案

这有效 - 尝试检查引号 " 和撇号 ':

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

关于PostgreSQL:关系不存在错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46503212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com