为什么我在 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;