Итак, я пытаюсь выполнить пару вставок одновременно, которые отчасти зависят друг от друга. Допустим, я делаю сайт по оценке собак. Любой может добавить собаку в мою базу данных, но при этом им также необходимо добавить предварительную оценку собаки. Другие люди могут потом оценить собаку. Отношение собак к рейтингам - это отношение один к одному: у собаки много оценок.
Это означает для моего предварительного добавления, так как у меня есть человек, который оценивает и добавляет собаку, мне нужно взять оценку и установить внешний ключ к первичному ключу собаки. Насколько я знаю, это означает, что я должен фактически добавить собаку, затем проверить, каков первичный ключ этого нового дополнения, и затем добавить это в свой рейтинг перед вставкой.
Теперь предположим, что с вставкой рейтинга что-то пошло не так, будь то слишком длинная строка или что-то, что я как-то упустил. Если оценка не пройдена, собака уже вставлена, но рейтинг - нет. В этом случае я бы хотел, чтобы собака не была добавлена в первую очередь.
Означает ли это, что я должен написать код, который говорит: «Если оценка не удастся, сделайте удаление для собаки», или есть способ предсказать, каким будет ключ для собаки, если все пойдет как запланировано. Есть ли способ сказать «держи это место», а затем, если все работает, добавить его?
Любая помощь будет принята с благодарностью. Спасибо !!