gpt4 book ai didi

mysql - 在mysql中的new/old.colname中添加引号?

转载 作者:行者123 更新时间:2023-11-29 18:12:12 28 4
gpt4 key购买 nike

我正在使用 mysql 构建一些触发器。其中之一是检查插入的值是否存在于数据库中。

当触发器比较日期值时。它将返回 0 行。我尝试在 new.column 名称周围附加引号,但它的字面意思是“new.column”。例如,不是“2017-11-15”。

代码如下:

BEGIN
declare jumlah int;
declare stok_awal int;
declare stok_akhir int;
set @jumlah:=(select count(*) from stok where stok.id_barang=new.id_barang and stok.tgl_stok=date(new.tgl));
//I need help for above line code
if (@jumlah IS NULL)
then
insert into stok (stok.id_barang,stok.tgl_stok,stok.jml_terbeli,stok.stok_akhir) values (new.id_barang,new.tgl,new.jumlah,new.jumlah);
else

set @stok_awal:=(select stok_awal from stok where tgl_stok=date(new.tgl) and id_barang=new.id_barang);
//I also need help for above line code

set @stok_akhir:=@stok_awal+new.jumlah;
insert into `stok`(id_barang,tgl_stok,jml_terbeli) values (new.id_barang,new.tgl,new.jumlah);
end if;
END

请问有什么帮助吗?谢谢

最佳答案

直到 @P.Salmon 发表评论我才注意到这一点。
这确实是我给变量名的错误。这是 colname 的冲突。
我将代码更改为这样的内容

set v_jumlah:=(select count(*) from stok where stok.id_barang=new.id_barang and stok.tgl_stok=date(new.tgl));

关于mysql - 在mysql中的new/old.colname中添加引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47302569/

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