Mysql数据库触发器怎样创建

avatar
作者
筋斗云
阅读量:0

在MySQL数据库中,创建触发器需要使用CREATE TRIGGER语句。以下是一个简单的示例,说明如何创建一个触发器。

首先,我们需要创建一个表作为示例:

CREATE TABLE employees (   id INT AUTO_INCREMENT PRIMARY KEY,   name VARCHAR(50) NOT NULL,   salary DECIMAL(10, 2) NOT NULL,   department_id INT ); 

接下来,我们将创建一个名为salary_check的触发器,该触发器将在向employees表插入新记录之前检查工资值。如果工资低于最低工资(例如,5000),则触发器将阻止插入操作并显示错误消息。

DELIMITER // CREATE TRIGGER salary_check BEFORE INSERT ON employees FOR EACH ROW BEGIN   IF NEW.salary < 5000 THEN     SIGNAL SQLSTATE '45000'     SET MESSAGE_TEXT = 'Error: Salary cannot be less than 5000';   END IF; END; // DELIMITER ; 

在这个示例中,我们使用了以下关键字和语法:

  • DELIMITER:用于更改语句结束符,以便在触发器定义中使用分号。
  • CREATE TRIGGER:用于创建触发器。
  • BEFORE INSERT:指定触发器在插入操作之前执行。
  • ON employees:指定触发器与employees表关联。
  • FOR EACH ROW:指定触发器将为每一行执行一次。
  • BEGIN...END:包含触发器的主体。
  • IF...THEN:条件判断语句。
  • SIGNAL:用于抛出自定义错误。

现在,当您尝试插入工资低于5000的员工记录时,触发器将阻止操作并显示错误消息。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!