gpt4 book ai didi

mysql - TRIGGER 未在表中插入值

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

我有以下触发器

CREATE TRIGGER Insert_Orders BEFORE INSERT ON `Orders`
FOR EACH ROW BEGIN
INSERT INTO Payments (RestaurantPaymentInVAT, VATID) VALUES (
(SELECT Get_RestaurantPaymentInVAT(NEW.`OrderID`)), 1);
END $$

但是,表格结果窗口中的 payment.RestaurantPaymentInVAT 不会显示我的任何类型的非空结果。所有这些都是null。然而:

当我将其作为独立查询进行测试时

SELECT Get_RestaurantPaymentInVAT(NEW.`OrderID`)

它给出了正确的值。

我做错了什么?

最佳答案

我假设 OrderID 被定义为自动增量。由于您使用的是 BEFORE INSERT 触发器,OrderID 确实为 NULL,因为尚未为其分配值。插入记录后它将获得一个值。尝试更改为 AFTER INSERT 触发器,或显式提供 OrderID 值。这应该可以解决问题。

关于mysql - TRIGGER 未在表中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51826367/

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