扳机赢了';t在MySql工作台中运行
我已经更新了我的问题,但仍然有问题。现在,它显示了我的一个红色十字接近值。我不知道语法有什么问题扳机赢了';t在MySql工作台中运行,mysql,sql,database-trigger,Mysql,Sql,Database Trigger,我已经更新了我的问题,但仍然有问题。现在,它显示了我的一个红色十字接近值。我不知道语法有什么问题 DELIMITER $$ CREATE TRIGGER PendingPublish AFTER INSERT ON TopicPending FOR EACH ROW BEGIN INSERT INTO Topics (Title,Description,Question1,Qustion2,Question3,Question4,UserID) VALUES (NEW.Tit
DELIMITER $$
CREATE TRIGGER PendingPublish
AFTER INSERT ON TopicPending
FOR EACH ROW
BEGIN
INSERT INTO Topics (Title,Description,Question1,Qustion2,Question3,Question4,UserID)
VALUES (NEW.Title,NEW.Descritpion,NEW.Question1,NEW.Question2,NEW.Question3,NEW.Question4,NEW.UserID)
FROM TopicPending
WHERE NEW.TopicApproved = 'YES'
END;$$
DELIMITER ;
触发器具有表TopicPending中的新值,因此要访问列TopicApproved,只需在其前面加上new。不需要选择它。见下文
IF NEW.TopicApproved = 'YES' THEN
INSERT INTO Topics (Title,Description,Question1,Qustion2,Question3,Question4,UserID)
VALUES (NEW.Title,NEW.Description,NEW.Question1,NEW.Question2,NEW.Question3,NEW.Question4,NEW.UserID);
END IF;
不是100%确定,但相当确定的是,
INSERTED
特定于MS Sql Server,不受MySQL支持。在MySQL中,您可以使用NEW.columnName
访问插入的值。@Barmar NEW。在插入的查询列或选择查询列之前?@samscoot没有select
。只需使用值(NEW.Title、NEW.Description等)