PostgreSQL:无法删除名为“ user”的特定表

use*_*123 5 python sql postgresql psycopg2

我无法删除PostgreSQL数据库中的特定表。该表称为“用户”。当我尝试运行以下代码段时,

    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()
Run Code Online (Sandbox Code Playgroud)

它吐出以下错误

  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;
Run Code Online (Sandbox Code Playgroud)

我可以删除数据库中的任何其他表,但是我似乎无法删除名为“ user”的表。是否因为“用户”是保留关键字

Ati*_*gur 6

引用“用户”如下

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()
Run Code Online (Sandbox Code Playgroud)

这里

还有第二种标识符:定界标识符或带引号的标识符。它是通过将任意字符序列括在双引号(“)中形成的。