1
我想要一个更新触发器,当尝试更新任何行>(max(IDBCRS_Testung)-100)时发生错误。只要我声明一个号码,触发器本身就能正常工作,例如,mysql在触发器中使用max
CREATE DEFINER=`root`@`%` TRIGGER `TEST`.`BCRS_BEFORE_UPDATE` BEFORE UPDATE ON `BCRS_Test` FOR EACH ROW
BEGIN
IF New.IDBCRS_Testung > (IDBCRS_Testung)-100)
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Update of record not allowed!';
END IF;
END
当然但是,这是不实际的,作为标识数量在不断增长,因此,我想:
CREATE DEFINER=`root`@`%` TRIGGER `TEST`.`BCRS_BEFORE_UPDATE` BEFORE UPDATE ON `BCRS_Test` FOR EACH ROW
BEGIN
IF New.IDBCRS_Testung > (Max(IDBCRS_Testung)-100)
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Update of record not allowed!';
END IF;
END
但后来我得到以下错误:
错误1111:1111:无效使用组功能
在Linux上使用最新的MySQL和工作台Mint 17.3
TIA
非常感谢!这正如我想要的那样工作! – rickquan
很高兴能够帮助:) – Shadow