【发布时间】:2017-01-05 23:08:10
【问题描述】:
我无法删除 PostgreSQL 数据库中的特定表。该表称为“用户”。当我尝试运行下面代码的 sn-p 时,
import psycopg2
conn = psycopg2.connect("dbname='mydatabase' user='postgres' host='localhost' password='mypassword'")
cur = conn.cursor()
cur.execute("DROP TABLE user;")
conn.commit()
conn.close()
它吐出以下错误
Traceback (most recent call last):
File "dev_psycog.py", line 20, in <module>
cur.execute("DROP TABLE user;")
psycopg2.ProgrammingError: syntax error at or near "user"
LINE 1: DROP TABLE user;
我可以删除数据库中的任何其他表,但我似乎无法删除名为“用户”的表。是因为“用户”是reserved keyword吗?
【问题讨论】:
-
试试
drop table 'user' -
所以当我用单引号包裹它时,我遇到了类似的错误。但是当我用双引号包裹它时它起作用了。谢谢
标签: python sql postgresql psycopg2