mysql update触发器不更新列

zaqlnxep  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(233)

我有这个扳机

DELIMITER ;

 DELIMITER $$
CREATE TRIGGER when_auction_ends
    AFTER UPDATE ON Auctions
    FOR EACH ROW 
BEGIN

    SELECT A.vin, A.status, A.winner, A.minprice, B.amount, B.buyer INTO @vin, @stat, @winner, @minprice, @amount, @buyer

    FROM Auctions A, Bids B WHERE A.status = 'Inactive' AND A.winner = null AND A.vin = B.vin AND B.amount = (SELECT MAX(amount) FROM Bids B WHERE B.vin = A.vin AS 

    IF @amount < @minprice THEN

    UPDATE Auctions
    SET A.winner = 'NONE'
    WHERE A.vin = B.vin;

    ELSEIF @amount >= @minprice THEN

    UPDATE Auctions
    SET A.winner = B.buyer
    WHERE A.vin = B.vin;

    END IF ;

END$$
DELIMITER ;

但当它激活时,值不会更新。我认为这是因为mysql不知道“set a.winner”中的a.winner是什么。我试着在网上寻找如何使用旧的和新的,但没有任何运气。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题