MySQL触发器是一种特殊的存储过程,它会在指定的事件发生时自动执行。这些事件包括INSERT、UPDATE或DELETE操作。触发器可以在数据被修改之前(BEFORE)或之后(AFTER)执行。
自增(AUTO_INCREMENT)是MySQL中的一个属性,通常用于整数类型的字段,以确保该字段的值在每次插入新记录时自动递增。
MySQL触发器主要有两种类型:
假设我们有一个名为users
的表,其中有一个自增字段id
和一个字段username
。我们想在每次插入新用户时,自动记录一条日志。
-- 创建用户表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL
);
-- 创建日志表
CREATE TABLE user_logs (
log_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
action VARCHAR(10),
log_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建触发器
DELIMITER //
CREATE TRIGGER after_user_insert
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO user_logs (user_id, action) VALUES (NEW.id, 'INSERT');
END //
DELIMITER ;
云+社区沙龙online [国产数据库]
云+社区沙龙online [国产数据库]
云+社区技术沙龙[第20期]
云+社区技术沙龙 [第32期]
DBTalk
DB-TALK 技术分享会
云+社区技术沙龙[第19期]
serverless days
DB TALK 技术分享会
第四期Techo TVP开发者峰会
领取专属 10元无门槛券
手把手带您无忧上云