我正在使用MySql 5.5数据库,我有test1,test2,test3和test4数据库。 test1数据库有3个表(Student,Employee,Trainer)。 test2数据库有3个表格(表格1,表格2,表格3) 。 现在我的问题是如何在MySql中为特定数据库创建触发器?
如何将TRIGGER应用于test1数据库?所以听到TRIGGER适用于学生,员工,培训师表。
请给我解决方案。
我正在使用MySql 5.5数据库,我有test1,test2,test3和test4数据库。 test1数据库有3个表(Student,Employee,Trainer)。 test2数据库有3个表格(表格1,表格2,表格3) 。 现在我的问题是如何在MySql中为特定数据库创建触发器?
如何将TRIGGER应用于test1数据库?所以听到TRIGGER适用于学生,员工,培训师表。
请给我解决方案。
CREATE TRIGGER的一般语法是: CREATE TRIGGER TRIGGER_NAME trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_statement
在下面的例子中,我们在表emp插入任何记录之前更新Employee表的Salary列。例如:
mysql> SELECT * FROM Employee;
+ ----- + --------- + ---------- + ------------------ - + -------- + ------- +
| Eid | Ename |城市|指定|薪水| Perks |
+ ----- + --------- + ---------- + ----------------- - + -------- + ------- +
| 1 |拉胡尔|德里|经理| 10300 | 853 |
| 2 | Gaurav |孟买|助理经理| 10300 | 853 |
| 3 | Chandan | Banglore |团队领导| 15450 | 999 |
| 5 | Tapan |浦那|开发人员| 20600 | 1111 |
| 6 | Amar |钦奈|开发人员| 16000 | 1124 |
| 7 | Santosh |德里| Designer | 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;
-> //
Query OK,0 rows affected(0。01秒)
mysql> delimiter; INSERT INTO Emp VALUES(9,'Rajesh','Delhi','Developer',15000,658);
Query OK,1 row affected(0.05 sec)
mysql> SELECT * FROM Employee;
+ ----- + --------- + ---------- + ------------------ - + -------- + ------- +
| Eid | Ename |城市|指定|薪水| Perks |
+ ----- + --------- + ---------- + ----------------- - + -------- + ------- +
| 1 |拉胡尔|德里|经理| 10000 | 853 |
| 2 | Gaurav |孟买|助理经理| 10000 | 853 |
| 3 | Chandan | Banglore |团队领导| 15150 | 999 |
| 5 | Tapan |浦那|开发人员| 20300 | 1111 |
| 6 | Amar |钦奈|开发人员| 15700 | 1124 |
| 7 | Santosh |德里| Designer | 9700 | 865 |
| 8 |苏曼|浦那|网页设计师| 19700 | 658 |
+ ----- + --------- + ---------- + ------------------ - + -------- + ------- +
7排在组(0.00秒)
它有可能适用? CREATE TRIGGER test.ins_trig BEFORE INSERT ON test.table1,test.table2 - > FOR EACH ROW - > BEGIN - >更新员工SET工资=工资-300 WHERE心动> 500; - > END; - > // – Chinna 2012-07-27 12:53:09
当然不是。它会工作 – 2012-07-27 12:58:31