为什么我在 HeidiSql 中的触发器没有插入任何信息?
Why does my trigger in HeidiSql not inser any information?
DELIMITER //
CREATE OR REPLACE TRIGGER tmVideo
BEFORE INSERT ON messages
FOR EACH ROW
BEGIN
DECLARE vurl VARCHAR(256);
SET vurl = (SELECT url FROM videos WHERE videoId = NEW.mVideoId);
IF new.mvideoId != NULL THEN INSERT INTO messagesvideos (messageId, videoId, url) VALUES (NEW.messageId, NEW.mvideoId, vurl);
END IF;
END //
DELIMITER ;
我正在尝试在 messagesvideos
table 上保存所有包含视频的邮件。我创建了这个触发器,但是当我在消息中插入时 table 我没有收到任何回复。
null
不是一个值,而是缺少值。您不能使用 =
或 !=
来测试它,您应该使用 is
运算符来代替:
IF new.mvideoId IS NOT NULL THEN
-- Here ----^
INSERT INTO messagesvideos (messageId, videoId, URL)
VALUES (NEW.messageId, NEW.mvideoId, vurl);
END IF;
DELIMITER //
CREATE OR REPLACE TRIGGER tmVideo
BEFORE INSERT ON messages
FOR EACH ROW
BEGIN
DECLARE vurl VARCHAR(256);
SET vurl = (SELECT url FROM videos WHERE videoId = NEW.mVideoId);
IF new.mvideoId != NULL THEN INSERT INTO messagesvideos (messageId, videoId, url) VALUES (NEW.messageId, NEW.mvideoId, vurl);
END IF;
END //
DELIMITER ;
我正在尝试在 messagesvideos
table 上保存所有包含视频的邮件。我创建了这个触发器,但是当我在消息中插入时 table 我没有收到任何回复。
null
不是一个值,而是缺少值。您不能使用 =
或 !=
来测试它,您应该使用 is
运算符来代替:
IF new.mvideoId IS NOT NULL THEN
-- Here ----^
INSERT INTO messagesvideos (messageId, videoId, URL)
VALUES (NEW.messageId, NEW.mvideoId, vurl);
END IF;