我正在使用 MySql 5.5 数据库,我有 test1、test2、test3 和 test4 数据库。test1 数据库有 3 个表(学生、员工、培训师)。test2 数据库有 3 个表(表 1、表 2、表 3)。现在我的问题是
如何将 TRIGGER 应用于 test1 数据库?所以听到 TRIGGER 应用于 Student、Employee、Trainer 表。
请给我解决方案。
我正在使用 MySql 5.5 数据库,我有 test1、test2、test3 和 test4 数据库。test1 数据库有 3 个表(学生、员工、培训师)。test2 数据库有 3 个表(表 1、表 2、表 3)。现在我的问题是
如何将 TRIGGER 应用于 test1 数据库?所以听到 TRIGGER 应用于 Student、Employee、Trainer 表。
请给我解决方案。
CREATE TRIGGER 的一般语法是: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_statement
在下面的示例中,我们在将任何记录插入 Emp 表之前更新 Employee 表的 Salary 列。例子 :
mysql> 选择 * 从员工;
+-----+----------+----------+------+-- ------+--------+
| 开斋节 | 姓名 | 城市 | 名称 | 工资 | 福利 |
+-----+----------+----------+------+-- ------+--------+
| 1 | 拉胡尔 | 德里 | 经理 | 10300 | 第853章
| 2 | 高拉夫 | 孟买 | 助理经理 | 10300 | 第853章
| 3 | 钱丹 | 班加罗尔 | 领队 | 15450 | 999 |
| 5 | 塔班 | 浦那 | 开发商 | 20600 | 1111 |
| 6 | 阿马尔 | 钦奈 | 开发商 | 16000 | 第1124章
| 7 | 桑托什 | 德里 | 设计师 | 10000 | 第865章
| 8 | 苏曼 | 浦那 | 网页设计师 | 20000 | 第658章
+-----+----------+----------+------+-- ------+--------+
一组 7 行(0.00 秒)
mysql> 分隔符 //
mysql> CREATE TRIGGER ins_trig BEFORE INSERT ON Emp
-> FOR EACH ROW
-> BEGIN
-> UPDATE Employee SET Salary=Salary-300 WHERE Perks>500;
-> END;
-> //
查询正常,0 行受影响(0.01 秒)
mysql> 分隔符;
mysql> INSERT INTO Emp VALUES(9,'Rajesh','Delhi','Developer',15000,658);
查询正常,1 行受影响(0.05 秒)
mysql> 选择 * 从员工;
+-----+----------+----------+------+-- ------+--------+
| 开斋节 | 姓名 | 城市 | 名称 | 工资 | 福利 |
+-----+----------+----------+------+-- ------+--------+
| 1 | 拉胡尔 | 德里 | 经理 | 10000 | 第853章
| 2 | 高拉夫 | 孟买 | 助理经理 | 10000 | 第853章
| 3 | 钱丹 | 班加罗尔 | 领队 | 15150 | 999 |
| 5 | 塔班 | 浦那 | 开发商 | 20300 | 1111 |
| 6 | 阿马尔 | 钦奈 | 开发商 | 15700 | 第1124章
| 7 | 桑托什 | 德里 | 设计师 | 9700 | 第865章
| 8 | 苏曼 | 浦那 | 网页设计师 | 19700 | 第658章
+-----+----------+----------+------+-- ------+--------+
一组 7 行(0.00 秒)
您在特定数据库中的特定表上创建触发器。
查看触发器以了解这是如何完成的。