我想创建一个触发器,当值不是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
还有这个。
暂无答案!
目前还没有任何答案,快来回答吧!