我想保护日期列中的现有日期不被覆盖。因此,不允许更新日期列,并且仅在现有字段值为 NULL 时才允许插入(日期列默认值为 NULL)。触发器是在 MySQL 中完成此任务的唯一方法吗?如果是这样,下面的触发器会起作用吗?
create trigger date_check
before insert, update on date
for each row
begin
if(date IS NOT NULL) then
SIGNAL 'date already set'
end if ;
end ;
背景:我有一个表格,其中包含由于用户错误而意外更改的关键日期。我在用户界面中进行了一些检查以防止再次发生这种情况,但如果可能的话,我希望直接使用数据库进行另一层安全性。