当前位置: 首页 > 面试题库 >

Postgres删除表语法错误

江超英
2023-03-14
问题内容

Heroku上的Postgres 9.3.2。

可以肯定的是我只是个白痴,但是我似乎无法弄清楚为什么我的语法错误。

db=> \dt
              List of relations
 Schema |    Name    | Type  |     Owner      
--------+------------+-------+----------------
 public | device     | table | admin
 public | post       | table | admin
 public | user       | table | admin
(3 rows)

// why does this fail?
db=> drop table user; 
ERROR:  syntax error at or near "user"
LINE 1: drop table user;

// does the right thing
db=> drop table error; 
ERROR:  table "error" does not exist

问题答案:

User是Postgres中的保留关键字。如果要引用名为 user实际 表,则必须将其用引号引起来: __

DROP TABLE "user";

如果可以的话,最好不要使用保留关键字作为表名。通常最终会在以后产生一些奇怪的问题。 Users可能是一个更好的表名。



 类似资料: