Некоторые столбцы с двойными кавычками и некоторые столбцы без двойных кавычек в postgres - PullRequest
2 голосов
/ 18 июля 2011

Кто-нибудь знает, почему некоторые столбцы в postgres отображаются как двойные кавычки, а некоторые столбцы без кавычек в pgadmin III.

Я могу вставить данные для столбцов (с кавычками), только если я даю имя столбца в двойных кавычках.

У меня возникла проблема при попытке вставить данные в эту таблицуимея оба столбца (с и без двойных кавычек) из PHP, используя PDO

1 Ответ

5 голосов
/ 18 июля 2011

Есть две причины, по которым вам нужны двойные кавычки вокруг имен столбцов в PostgreSQL.

  1. Если зарезервированное слово используется в качестве имени столбца
  2. PostgreSQL чувствителен к регистру, и все объекты считаются строчными, если не указаны двойные кавычки. Двойные кавычки говорят PostgreSQL использовать указанный случай.

Если вы создаете таблицу

CREATE TABLE tt1 (
    id integer,
    "Order" integer
);

Приведенный выше оператор сообщает PostgreSQL, что в этом случае необходимо сохранить столбец «Порядок».

Следующие операторы INSERT не будут работать: -

INSERT INTO tt1 (id, Order) VALUES (1, 1)
INSERT INTO tt1 (id, "order") VALUES (2, 2)
INSERT INTO tt1 (id, "OrDer") VALUES (3, 3)

Вам нужно будет правильно указать регистр: -

INSERT INTO tt1 (id, "Order") VALUES (1, 1)
INSERT INTO tt1 (id, "Order") VALUES (2, 2)
INSERT INTO tt1 (id, "Order") VALUES (3, 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...