MySQL Подскажите пожалуйста команду или есть сопутствующие статьи по предотвращению обновления записей, если в поле есть 0

Доброго времени суток!

Кто знает команду или знает где можно найти информацию по командам MySQL, а именно, чтобы при обновлении БД в поле где есть 0 запись не обновлялась. Это будет своего рода ограничения для бронирования. Чтобы пользователь не мог забронировать комнату, где уже нет мест. (Разумеется у меня есть вывод БД где в поле "Свободно мест" не будет "0". Но никто не застрахован от ошибки и ухода в отрицательное число.

Имеется такая таблица

+---------------------+-----------------+-----------------+
| rooms_one_korpus_id | free_one_korpus | type_one_korpus |
+---------------------+-----------------+-----------------+
|                 201 | -1              | 1               |
|                 202 | 1               | 2               |
|                 203 | 1               | 1               |
|                 204 | 0               | 2               |

В поле "free_one_korpus" мы ушли в минус. И я хочу предотвратить это

В инете ничего путевого не нашел, может вы знаете что можно с этим сделать?

Буду рад любой помощи


Ответы (1 шт):

Автор решения: Akina

Вариант 1 - CHECK constraint. Но требует версии 8.0.16.

Вариант 2 - триггер.

Вариант 3 - реализация логики в формате не запроса, а хранимой процедуры.

→ Ссылка