我有一个staff
带office
列的表。目前该office
列不接受 NULL 值。保存在这个表上的应用程序有一个错误,这意味着当员工没有被分配办公室时,它会尝试在表中插入一个 NULL 值。
我被要求使用触发器来拦截插入到Staff
表中并检查office
值是否为 NULL 并将其替换为 value N/A
。
以下是我迄今为止的尝试,但确实有error
尝试实施。关于如何解决这个问题的任何想法。
CREATE TRIGGER staffOfficeNullReplacerTrigger BEFORE INSERT ON Staff
FOR EACH ROW BEGIN
IF (NEW.office IS NULL)
INSERT INTO Staff SET office="N/A";
END IF
END;
错误:
MySQL 数据库错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'INSERT INTO Staff SET office="N/A"; 附近使用的正确语法;结尾'