Вопрос немного отличается от уже отвеченного и требует другого ответа.
ОП гласит: user shouldn't be able to choose their own record id
.В этом случае определение столбца должно быть ID_USER INT NOT NULL GENERATED ALWAYS AS IDENTITY
, чтобы запретить любое предоставленное пользователем значение.
Имя таблицы не должно быть USER
, поскольку это зарезервированное слово.Вместо этого попробуйте USERS
.
Оператор вставки не должен вставляться в столбец ID_USER
.Как и в примере из другого ответа, в нем должны быть перечислены вставляемые столбцы.Пример ниже:
INSERT INTO USERS (USERNAME, FORENAME, SURNAME, PASSWORD, USER_TYPE)
VALUES ('JohnSmith','John', 'Smith', 'apasswrdx67', 3)
ОП хочет вставить сгенерированное значение в другую таблицу с помощью GUI DatabaseManager.Это делается с помощью функции IDENTITY () сразу после вставки этой строки.Например,
INSERT INTO SOMETABLE (X, Y, Z) VALUES (IDENTITY(), 'some value', 'other value')