bitniks
@bitniks
Go/PHP/Symfony developer

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

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

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

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

Войти через центр авторизации
Похожие вопросы