繁体   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