【问题标题】:Trigger not getting created in MariaDB触发器未在 MariaDB 中创建
【发布时间】:2021-03-03 09:15:48
【问题描述】:

我有一个表,我想在它上面创建一个触发器,但我做不到。触发器语法中没有任何错误。

    CREATE TABLE AUTHER_TYPE
  (
    ID          int (11) NOT NULL ,
    AUTHER_TYPE   VARCHAR (2) ,
    AUTHER_NAME        VARCHAR (64) ,
    IS_ACTIVE   CHAR (1) ,
    CREATED_BY  VARCHAR (64) ,
    CREATE_DATE TIMESTAMP ,
    UPDATED_BY  VARCHAR (16) ,
    UPDATE_DATE TIMESTAMP
  ) ;




DELIMITER //
CREATE OR REPLACE TRIGGER AUTHER_TYPE_TRIGGER1 BEFORE DELETE ON AUTHER_TYPE FOR EACH ROW
BEGIN
    SIGNAL SQLSTATE '20002' SET MESSAGE_TEXT = 'Error Can not delete this record' ;
END ; //
DELIMITER ;

【问题讨论】:

  • 您如何验证触发器是否已创建?能否请您截图“显示来自 your_db_name 的触发器;”结果。
  • 我已经添加了SHOW TRIGGERS的截图;

标签: sql triggers mariadb


【解决方案1】:

试试这个:

DELIMITER //
CREATE OR REPLACE TRIGGER AUTHER_TYPE_TRIGGER1 BEFORE DELETE ON AUTHER_TYPE FOR EACH ROW
BEGIN
   SIGNAL SQLSTATE '20002' SET MESSAGE_TEXT = 'Error Can not delete this record' ;
END// -- redefined delimiter
DELIMITER ;

【讨论】:

    猜你喜欢
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 2021-07-22
    • 2018-03-04
    • 2013-12-24
    • 2013-05-30
    • 2018-02-07
    相关资源
    最近更新 更多