Postgres Вставка без каких-либо значений для столбцов.ВСЕ ПО УМОЛЧАНИЮ - PullRequest
2 голосов
/ 30 апреля 2019

У меня в Postgres есть таблица, в которой есть только значения столбцов по умолчанию (id, create_at).

Единственный способ вставить эту таблицу - это

INSERT INTO pages(id) VALUES(DEFAULT) RETURNING id;

Почему нельзяЯ делаю это:

INSERT INTO pages RETURNING id;

Просто любопытно.

Ответы [ 2 ]

6 голосов
/ 30 апреля 2019

Вы можете использовать либо:

INSERT INTO test DEFAULT VALUES returning id;

И все объяснения, которые вы хотите, здесь: https://www.postgresql.org/docs/current/sql-insert.html

Синтаксис PostgreSQL довольно навязан.

ЗНАЧЕНИЯ ПО УМОЛЧАНИЮ: Все столбцы будут заполнены значениями по умолчанию. (Предложение OVERRIDING в этой форме не допускается.)

Надеюсь, это поможет;)

1 голос
/ 30 апреля 2019

вам нужно ключевое слово values, иначе как бы вы сказали, сколько строк вы хотите вставить?Однако вам не требуются имена полей, поэтому вы можете укоротить свой запрос (очень) немного:

INSERT INTO pages VALUES(DEFAULT) RETURNING id;
...