INSERT INTO со значениями по умолчанию для одного столбца - PullRequest
0 голосов
/ 31 августа 2018

У меня проблема с вставкой данных в 1 таблицу с 1 столбцом

Имя: user_id

Столбец: id

Я пытаюсь добавить 1 строку в этот столбец с этим запросом:

INSERT INTO user_id (id) VALUES ()

Проблема в том, что выше недействительно, я хочу, чтобы идентификатор принял последнее значение id + 1

Это не проблема синтаксиса, поскольку этот запрос работает:

INSERT INTO user_id (id) VALUES (4)

Итак, я действительно не знаю, как решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Предполагая, что столбец id определен как serial или identity, вы можете указать список столбцов и установить значение столбца default:

insert into user_id (id) values (default);

Это также работает, если у вас есть больше столбцов, например:

insert into users (id, firstname, lastname) 
values (default, 'Arthur', 'Dent');

Или вы можете полностью исключить список столбцов и запросить значения по умолчанию для всех столбцов:

insert into user_id default values;
0 голосов
/ 31 августа 2018

SQL поддерживает оператор default values.

Так что это будет работать:

create table t (id serial primary key);

insert into t 
    default values;

Синтаксис описан в документации .

...