ユーザーを挿入してIDを取得したいとします。最後の挿入ID。 SQLを介して。postgresql最後の挿入IDの同時実行
CREATE OR REPLACE FUNCTION create_user(registration_ip inet)
RETURNS integer AS
insert into users(registration_ip)
values($1);
select max(id) from users;
LANGUAGE sql VOLATILE
この機能は安全ですか?私は、並行処理が安全であることを意味しましたか?例えばnユーザーが同時に作成されている場合、現在のユーザーのIDが返されることが保証されますか?
+1明示的にシーケンスを使用してより良い –
ありがとう。本当にシンプルなソリューション。 –