gpt4 book ai didi

mysql - 如何在 MySQL 触发器中获取结果集

转载 作者:行者123 更新时间:2023-11-29 00:45:06 26 4
gpt4 key购买 nike

BEFORE INSERT 我正在尝试检查这些值。如果一列是空白的,我想加载默认值——基于单独表中的一行。我虽然像下面的代码这样的东西可以满足我的需要,但我遇到了错误。

Not allowed to return a result set from a trigger Execution stopped!

这是我的 SQL,我假设它在提示我的 select 语句。

delimiter |
CREATE TRIGGER `trg_Sites_ID` BEFORE INSERT ON Sites
FOR EACH ROW
BEGIN
SELECT @CA:=Palette0ColorA, @CB:=Palette0ColorB FROM Themes WHERE ID=NEW.ThemeID;
SET NEW.ID = UUID();
SET NEW.ColorA = IF(NEW.ColorA = '', @CA, NEW.ColorA);
SET NEW.ColorB = IF(NEW.ColorB = '', @CB, NEW.ColorB);
END
|
delimiter ;

最佳答案

正如错误消息所暗示的那样,您的 SELECT 正在尝试将数据返回给客户端。您可以改为使用 SELECT ... INTO :

SELECT Palette0ColorA, Palette0ColorB INTO @CA, @CB FROM Themes WHERE ID=NEW.ThemeID

关于mysql - 如何在 MySQL 触发器中获取结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10840932/

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