К сожалению, то, что вы хотите сделать, невозможно, по крайней мере, без большой работы.SQL в целом - и MySQL в частности - предоставляют возможность, называемую триггеры .
Триггеры, которые позволяют выполнять действия, когда что-то происходит в базе данных.Например, если вы хотите проверить правильность значений, вы можете написать триггер insert
/ update
, чтобы проверить значения и отклонить неправильные.Или, если вы хотите сохранить удаленные записи в таблице аудита, лучше всего использовать триггер.
То, что вы описываете, может быть реализовано с помощью триггера «select».Такого зверя не существует.
Какие у вас варианты?Ну, самое простое - сделать это в вашем приложении.Когда фильм выбран, вы можете обновить виды.Конечно, это только увеличивает представления, где у вас есть код.
Вы можете переместить этот код в хранимую процедуру.Это упрощает код приложения.Он просто должен «знать», чтобы использовать хранимую процедуру.Но нет механизма принудительного применения.
Вы можете сделать это более принудительным, используя разрешения.По сути, не разрешайте доступ к базовой таблице , за исключением через хранимую процедуру.Это ближе всего к тому, что вы хотите.