【发布时间】:2020-11-05 14:49:48
【问题描述】:
我想创建一个触发器,在 pembayaran 表上创建 id_pembayaran,但是有一个 sql 语法错误
DELIMITER $$
CREATE TRIGGER id_bayar
BEFORE INSERT ON pembayaran
FOR EACH ROW
BEGIN
SELECT COUNT(*) FROM pembayaran INTO @idpembayaran;
SELECT id_jenis_pembayaran, IF(id_jenis_pembayaran = 'DP',
SET new.id_pembayaran = CONCAT('DP','-', DATE_FORMAT(curdate(),'%Y%m%d'),'-',@idpembayaran+1),
SET new.id_pembayaran = CONCAT('LNS','-', DATE_FORMAT(curdate(),'%Y%m%d'),'-',@idpembayaran+1)
) FROM pembayaran;
END$$
DELIMITER ;
【问题讨论】:
-
错误信息是什么?
-
#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 7 行的“CASE WHEN id_jenis_pembayaran = 'DP' THEN SET new.id_pembayaran =”附近使用正确的语法
-
在您的代码中看不到任何 CASE 语句。你从哪里得到错误?不管怎样,试试
SELECT COUNT(*) INTO @idpembayaran FROM pembayaran;
标签: mysql sql database triggers