Я получаю неизвестную ошибку столбца, хотя поле существует в таблице '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
Вот сообщение об ошибке, которое яполучаю входные данные, где роль «редактор»
Где я иду не так?