我有这个扳机
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是什么。我试着在网上寻找如何使用旧的和新的,但没有任何运气。
暂无答案!
目前还没有任何答案,快来回答吧!