触发器中使用if语句添加带过滤的值

问题描述 投票:0回答:1

触发器中的问题...您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在“分隔符 $$ 附近使用的正确语法” 在第 1 行插入“客户...”之前创建触发器

add_not_before_insert

嗨,我正在尝试使用触发器内的 if 语句在表

Note

 内的 
customer_payments
 列中插入一个值,对于之前付款的客户...在 
Note 列中输入“每月分期付款”一词
 ;但如果这是这个客户的第一次!在备注栏中输入“第一次”一词

附加到的所有表和触发器:

https://dbfiddle.uk/fc-4QQRF

sql mysql mariadb
1个回答
0
投票
很多错别字。

  1. customer_payments.note
     被定义为 NOT NULL - 因此您不能显式插入 NULL 值。
  2. DELIMITER 是客户端命令,不是 SQL 语句,不应该在 fiddle 中使用。
  3. 复合 stmt 中的每个单独的 stmt,包括 IF stmt 分支中的 stmt,都必须以分隔符终止。

固定小提琴

© www.soinside.com 2019 - 2024. All rights reserved.