簡體   English   中英

psycopg2 - UndefinedColumn:關系的列“日期時間”“<table_name> “ 不存在</table_name>

[英]psycopg2 - UndefinedColumn: column "datetime" of relation "<table_name>" does not exist

我收到此錯誤消息

UndefinedColumn: column "datetime" of relation "daily_price" does not exist
LINE 1: INSERT INTO public.daily_price (DateTime) VALUES ('200...
                                              ^

代碼

cur.execute("INSERT INTO public.daily_price (DateTime) VALUES ('"+str(day)+"')");

如何在不改變數據庫的情況下處理保留字列?

正如蒂姆羅伯茨指出的那樣,你有一個不同的問題。

這是使用 DateTime 作為列名並成功執行的示例 SQL:

CREATE TEMPORARY TABLE foo (DateTime timestamp);
INSERT INTO foo (DateTime) VALUES (now());

為了完整起見,當您真正使用 postgres 在上下文中反對的保留關鍵字時,會發生以下情況:

CREATE TEMPORARY TABLE foo (select timestamp);
INSERT INTO foo (select) VALUES (now());

ERROR:  syntax error at or near "select"
LINE 1: CREATE TEMPORARY TABLE foo (select timestamp);
                                    ^
ERROR:  syntax error at or near "VALUES"
LINE 1: INSERT INTO foo (select) VALUES (now());

要解決這種情況,您可以使用雙引號:

CREATE TEMPORARY TABLE foo ("select" timestamp);
INSERT INTO foo ("select") VALUES (now());

這將正常工作 - 但這不是你的問題。 您沒有看到的東西是架構錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM