gpt4 book ai didi

MySQL Select 语句在触发器内部时返回 null

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

我正在 MySQL 中创建触发器,但遇到了一个小问题。

这是触发代码:

DELIMITER $$
DROP TRIGGER IF EXISTS cfmaj$$
CREATE TRIGGER cfmaj AFTER INSERT ON vtiger_cf_608
FOR EACH ROW
BEGIN
DECLARE sortid,pickvalue INT;
SET @pickvalue = (SELECT id FROM vtiger_picklistvalues_seq),
@sort_id = (SELECT max(sortid) FROM vtiger_role2picklist WHERE roleid = 'H5' AND picklistid = 47);
UPDATE vtiger_cf_608_seq SET id = id+1;
UPDATE vtiger_picklistvalues_seq SET id = id+1;
INSERT INTO vtiger_role2picklist (roleid,picklistvalueid,picklistid,sortid) VALUES ('H5',@pickvalue,47,@sort_id);
END;
$$
DELIMITER ;

除了@sort_id 等于 null 之外,一切正常。有趣的是当只查询时

(SELECT max(sortid) FROM vtiger_role2picklist WHERE roleid = 'H5' AND picklistid = 47)

,查询完美无缺。

我有点困惑。

提前致谢。

最佳答案

你不应该使用 @var := value 吗? := 使其成为一个赋值,否则 MySQL 将其解释为相等测试。

关于MySQL Select 语句在触发器内部时返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6572685/

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