回答

收藏

触发器中UPDATE之后更新同一行

技术问答 技术问答 112 人阅读 | 0 人回复 | 2023-09-13

我希望该epc列始终为earnings/ clicks。我正在使用AFTER+ Q( {! g1 a- l7 M
UPDATE触发器来完成此操作。因此,如果要向该表中添加100次点击,我希望EPC自动更新。
3 t+ {2 e  Q% K) f* o" J0 m6 f我正在尝试:! z# L" M3 k' d: O
CREATE TRIGGER `records_integrity` AFTER UPDATE ON `records` FOR EACH ROW SET " `0 z: A# J! l1 o( w$ a; p
NEW.epc=IFNULL(earnings/clicks,0);
+ S% t- f( i2 B7 }( s, M并得到此错误:! V. Z1 @8 I, I4 ^6 Z1 {
MySQL said: #1362 - Updating of NEW row is not allowed in after trigger
# I0 z7 |. u$ X9 F我也尝试使用OLD,但也出现了错误。我可以在此之前做,但是如果我添加了100次点击,它将使用之前的#次点击作为触发条件(对吗?)2 U& z% j2 R. x! i
我应该怎么做才能做到这一点?! e2 G) v0 z4 V' w- _0 ?! w
编辑-将在此运行查询的示例:
2 e' {& m4 q5 h6 c( Z8 \3 C5 yUPDATE records SET clicks=clicks+100, \3 c% f7 k' O& Q7 j/ v# c
//EPC should update automatically
% A! t: t$ @/ h& s2 C  P0 n! t                  h$ P$ V# [0 ^6 i' R8 \
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则