值不是1时阻止删除

goucqfw6  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(198)

我想创建一个触发器,当值不是1时防止删除行。
我的table:

CREATE TABLE `t_rechnung` (
    `rechnungsnummer` VARCHAR(255) NOT NULL COLLATE 'utf8_general_ci',
    `rechnungsdatum` DATE NOT NULL,
    `bezahlt` BIT(1) NOT NULL DEFAULT b'0',
    PRIMARY KEY (`rechnungsnummer`) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;

我尝试的所有触发器都不起作用,因为它们特定于mysql。
编辑:

DELIMITER //
CREATE TRIGGER trg_test 
BEFORE DELETE ON t_rechnung
FOR EACH ROW 
BEGIN
IF bezahlt <> 1 THEN
SIGNAL SQLSTATE 
END IF;
END //

我试过了。

FOR EACH ROW
BEGIN
IF bezahlt <> 1 THEN
SIGNAL SQLSTATE '42000' SET MYSQL_ERRNO=42000, MESSAGE_TEXT='Unable to delete unpaid bills!';
END IF
END

还有这个。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题