当我已经遵循格式时,为什么不能在 Postgresql-Pgadmin 中删除一行?

Why can't I delete a row in Postgresql-Pgadmin when I already followed the format?

我有一个包含 2 列的 table DepartmentDEPT_CODE PK 和 DEPT_NAME 并且都有数据类型 name。我插入:

INSERT INTO public."Department"("DEPT_CODE", "DEPT_NAME")
VALUES ('CIS', 'Computer Info Systems');

那我要删除所以我写了:

DELETE FROM public."Department"
    WHERE 'DEPT_CODE' = 'CIS';

这并没有删除该行(我使用了 pgadmin 提供的删除脚本)。如果我不为 'DEPT_CODE' 使用引号,它会报错:

ERROR:  column "dept_code" does not exist
LINE 2:  WHERE DEPT_CODE = 'CIS';

不知道该怎么办。我看到的每一个教程似乎都可以删除,为什么我的不行?这是我第一次使用 pgadmin-postgres。

As documented in the manual identifiers (column & table names) need to be enclosed in double quotes. Single quotes are only for string constants.

并且因为您在创建 table 时对 table 和列名使用了可怕的双引号,所以您现在需要始终使用它们:

DELETE FROM public."Department"
WHERE "DEPT_CODE" = 'CIS';
       ^               ^
       | column name   | string constant

strongly recommended 完全避免那些可怕的引用标识符。因此,当您 create tables 时永远不要使用双引号,那么在使用 tables

时就永远不需要使用它们