Я пытаюсь заключить все свои транзакции, которые должны быть "все или ничего", в BEGIN
и COMMIT
, но я не уверен, как это сделать в случаях, подобных следующему.* У меня есть 3 таблицы, одна для изображений, одна для albums
и одна для отношений между ними, а именно 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;
Это, вероятно, распространенная проблема, я просто не уверен, что искать, и я не могу найти решение в документации.