Я довольно плохо разбираюсь в PostgreSQL и имею некоторый опыт работы с SQL Server. Этот вопрос о практике, потому что я много чего читал.
Я хочу вставить запись (пользователя), а затем взять этот userID
и вставить еще пару записей в еще пару таблиц.
Традиционно я бы использовал для этого что-то вроде хранимой процедуры или триггера. Я видел, что в postgreSQL существуют функции (без хранимой процедуры?), но я также видел, что они не являются транзакционными.
Я надеюсь, что смогу найти транзакционное решение с помощью триггера или хранимой процедуры.
Внешние ключи в настоящее время не добавляются (будут существовать в какой-то момент, просто не на данном этапе разработки):
Пример (передайте $name, $password, $address, $group_id, $interestsJson):
insert into user (name, pwd, address)
values ($name, $password, $address)
insert into user_group (user_id, group_id)
values (NEW_USER_ID_ABOVE, $group_id)
insert into user_interests (user_id, interests)
value (NEW_USER_ID_ABOVE, $interestsJson)