Я пытаюсь обернуть все свои транзакции, которые должны быть "все или ничего", в BEGIN
и COMMIT
, но я не знаю, как это сделать в следующих случаях.
У меня есть 3 таблицы, одна для изображений, одна для альбомов
и одна для отношений между ними, а именно album_images
. Система работает так, что пользователь может создать альбом и заполнить его своими изображениями за одну операцию. SQL выглядит следующим образом:
BEGIN;
INSERT INTO albums [...]; -- Create a new album row
SELECT id AS album_id FROM albums WHERE [...]; -- Get that rows ID
-- Now use album_id in the next statement
INSERT INTO album_images (album_id, image_id) [...];
COMMIT;
Это, вероятно, обычная проблема, я просто не знаю, что искать, и я не могу найти решение в документации.