【发布时间】:2020-02-19 05:30:14
【问题描述】:
即使字段存在于表“WebsiteRole”中,我也收到未知列错误:
错误 1054:“字段列表”中的未知列“角色”
现在经过一些研究,我知道这可能是因为在这张桌子上设置了触发器。我检查了触发器的代码,但我仍然不清楚它的代码有什么问题。
奇怪的是插入适用于角色不是“编辑器”的输入组合。
这是我的输入触发器:
CREATE DEFINER=`vasisht54`@`%` TRIGGER `website_server`.`WebsiteRole_AFTER_INSERT` AFTER INSERT ON `WebsiteRole` FOR EACH ROW
BEGIN
DECLARE var_role varchar(15);
SET var_role = NEW.role;
IF var_role = 'owner' THEN
INSERT INTO WebsitePriviledge VALUES(NULL, 'create', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'read', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'update', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'delete', NEW.dev_id,NEW.website_id);
ELSEIF var_role = 'admin' THEN
INSERT INTO WebsitePriviledge VALUES(NULL, 'create', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'read', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'update', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'delete', NEW.dev_id,NEW.website_id);
ELSEIF role = 'writer' THEN
INSERT INTO WebsitePriviledge VALUES(NULL, 'create', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'read', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'update', NEW.dev_id,NEW.website_id);
ELSEIF var_role = 'editor' THEN
INSERT INTO WebsitePriviledge VALUES(NULL, 'read', NEW.dev_id,NEW.website_id);
INSERT INTO WebsitePriviledge VALUES(NULL, 'update', NEW.dev_id,NEW.website_id);
ELSEIF var_role = 'reviewer' THEN
INSERT INTO WebsitePriviledge VALUES(NULL, 'read', NEW.dev_id,NEW.website_id);
END IF;
END
我哪里错了?
【问题讨论】:
标签: mysql triggers mysql-workbench