gpt4 book ai didi

MySQL When 子句

转载 作者:行者123 更新时间:2023-11-29 19:08:29 30 4
gpt4 key购买 nike

我正在尝试使用 MySQL 创建触发器,但遇到错误。限制是:用户不得对他或她同时销售的商品出价。

Create Trigger before_insert_bid
Before Insert on Bid
for each row
when exists(
Select *
From Item
Where Item.UserID = new.UserID
AND Item.ItemID = new.ItemID
)
begin
Call 'You cannot bid on your own item';
end;

我一生都无法弄清楚错误是什么,以及如何修复它,在过去的一个小时里我一直在尝试调试这个问题,我是否错误地使用了when子句,或者我是否必须使用某些东西还有吗?

感谢您的帮助!

最佳答案

在 MySQL 中,触发器如下所示:

delimiter $$

create Trigger before_insert_bid before Insert on Bid for each row
begin
if (exists (Select 1 from Item i Where i.UserID = new.UserID and i.ItemID = new.ItemID))
then
signal sqlstate '45000' set message_text = 'You cannot bid on your own item';
end if;
end;$$

delimiter ;

从 MySQL 5.5 开始,signal 是从触发器返回错误的首选方法。

关于MySQL When 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43298690/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com