Mysql 为什么在事件中设置的值不能转换为触发器中的新.value?

Mysql 为什么在事件中设置的值不能转换为触发器中的新.value?,mysql,triggers,event-triggers,mysql-event,Mysql,Triggers,Event Triggers,Mysql Event,就我而言,我有: UPDATE Xdb.shop_product_m2m as m2m SET m2m.expired=1 WHERE m2m.expires <= now(); 但是如果NEW.expired=1或NEW.expired=“1”,则行中的测试将彻底失败 为什么我在这方面会失败? 提前谢谢 编辑“shop\u product\u m2m”表的DDL,以添加回复信息 create table if not exists Xdb.shop_product_m2

就我而言,我有:

    UPDATE Xdb.shop_product_m2m as m2m
    SET m2m.expired=1 WHERE m2m.expires <= now();
但是如果NEW.expired=1或NEW.expired=“1”,则行中的测试将彻底失败

为什么我在这方面会失败?

提前谢谢

编辑“shop\u product\u m2m”表的DDL,以添加回复信息

create table if not exists Xdb.shop_product_m2m(
    id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
    created datetime NOT NULL,
    modified datetime NOT NULL,
    expires datetime NOT NULL,
    shop int NOT NULL,
    product int NOT NULL,
    price decimal(13,2),
    instock boolean NOT NULL DEFAULT 1,
    expired boolean NOT NULL DEFAULT 0,
    burgainable boolean NOT NULL DEFAULT 1,
    FOREIGN KEY (shop) REFERENCES shop(id) ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (product) REFERENCES product(id) ON DELETE CASCADE ON UPDATE CASCADE
);

好的,我已经删除了我的答案,看起来问题出在其他方面,我无法复制它,如果您在更新表时执行触发器时提供一些相同的数据以及预期的结果,那就太好了。@Abhik它从来都不起作用,伙计!它吃了我一整天。我用另一种方法解决了它(一些特别的解决方案)!谢谢你对这个感兴趣。我很感激!
create table if not exists Xdb.shop_product_m2m(
    id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
    created datetime NOT NULL,
    modified datetime NOT NULL,
    expires datetime NOT NULL,
    shop int NOT NULL,
    product int NOT NULL,
    price decimal(13,2),
    instock boolean NOT NULL DEFAULT 1,
    expired boolean NOT NULL DEFAULT 0,
    burgainable boolean NOT NULL DEFAULT 1,
    FOREIGN KEY (shop) REFERENCES shop(id) ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (product) REFERENCES product(id) ON DELETE CASCADE ON UPDATE CASCADE
);