Задать вопрос
bitniks
@bitniks
Go/PHP/Symfony developer

Как сделать так, чтобы INSERT выполнился по результату SELECT атомарно?

Нужно выполнить INSERT, если в результате SELECT будет пусто. В SELECT идет проверка на пересечение периода дат с существующими периодами таблицы, поэтому не получится задать уникальный ключ.

Как сделать, чтобы операция прошла атомарно, чтобы несколько процессов одновременно не смогли добавить пересекающиеся периоды?
  • Вопрос задан
  • 257 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Matmode
@Matmode
PHP/Symfony Developer
Если позволяет тип таблицы, используйте транзакцию
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Проверять пересечение в триггере на добавление, к примеру.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
27 дек. 2024, в 17:43
500 руб./за проект
27 дек. 2024, в 17:36
2000 руб./за проект
27 дек. 2024, в 17:34
1500 руб./за проект