【发布时间】:2016-04-08 22:28:38
【问题描述】:
我有多个用户希望能够触发我的触发器,因为您不能在一个触发器中有多个定义器,所以我决定为每个用户设置多个触发器。
所以在我的一个表中,我已经有一个名为 system_after_insert 的触发器分配给 root,现在我想将另一个触发器分配给 admin,名为 system_after_insert_1,现在它们都具有相同的内容,并且可以在同一张桌子。我已经创建了 system_after_insert 触发器,但是现在当我尝试添加 system_after_insert_1 时,它返回一个错误:
ERROR 1064:您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本以获得正确的语法 在第 1 行使用 near ''
CREATE DEFINER=`admin`@`localhost` TRIGGER system_after_insert_1
AFTER INSERT ON `system_database`.atm_account
FOR EACH ROW
BEGIN
INSERT INTO `log_database`.system_logs
SET actionDone = 'insert',
employee = USER(),
logDate = NOW(),
tableChange = 'atm_account',
rowChange = NEW.atmID,
new_data = concat("Account #",NEW.accountNumber,", Pin:",NEW.pin,", Security Code:",NEW.securityCode,", Withdrawal Limit:",NEW.withdrawalLimit);
END
不是上面的代码和system_after_insert相同,唯一的区别是触发器名称和定义器。
【问题讨论】: