相关疑难解决方法(0)

用于插入和更新的MySQL Fire触发器

是否可以为表的插入和更新事件触发mysql触发器?

我知道我可以做到以下几点

CREATE TRIGGER my_trigger
    AFTER INSERT ON `table`
    FOR EACH ROW
BEGIN
.....
END //

CREATE TRIGGER my_trigger
    AFTER UPDATE ON `table`
    FOR EACH ROW
BEGIN
.....
END //
Run Code Online (Sandbox Code Playgroud)

但我该怎么办

CREATE TRIGGER my_trigger
    AFTER INSERT ON `table` AND
    AFTER UPDATE ON `table`
    FOR EACH ROW
BEGIN
.....
Run Code Online (Sandbox Code Playgroud)

有可能,还是我必须使用2个触发器?两者的代码相同,我不想重复它.

mysql triggers

101
推荐指数
3
解决办法
9万
查看次数

如何在MYSQL中删除相同的表?

在我的数据库中,我有一个Employee具有递归关联的表(员工可以是其他员工的老板):

create table if not exists `employee` (

  `SSN` varchar(64) not null,
  `name` varchar(64) default null,
  `designation` varchar(128) not null,
  `MSSN` varchar(64) default null, 
  primary key (`ssn`),
  constraint `fk_manager_employee`  foreign key (`mssn`) references employee(ssn)

) engine=innodb default charset=latin1;
Run Code Online (Sandbox Code Playgroud)

mysql> describe Employee;
+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| SSN         | varchar(64)  | NO   | PRI | NULL    |       |
| name        | varchar(64)  | YES  |     | NULL    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql triggers mysql-error-1442

13
推荐指数
1
解决办法
4896
查看次数

使用Trigger更新另一个数据库中的表

我使用以下触发器来更新mysql 5.0.7中另一个数据库中的用户表创建触发器没有错误,但是在更新第一个数据库中的用户表时触发器不起作用.有什么建议?

DELIMITER $$         
DROP TRIGGER IF EXISTS after_update_user;

CREATE TRIGGER after_update_user;

AFTER UPDATE ON db_test.user  FOR EACH ROW;
BEGIN
    UPDATE TABLE db_testplus.user;
    SET  name = NEW.name;

    WHERE id = NEW.id;
END

$$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

我也使用这个代码没有分号但仍然相同

DELIMITER $$         
DROP TRIGGER IF EXISTS after_update_user

CREATE TRIGGER after_update_user

AFTER UPDATE ON db_test.user  FOR EACH ROW
BEGIN
    UPDATE TABLE db_testplus.user
    SET  name = NEW.name

    WHERE id = NEW.id
END;

$$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

最后有效的代码

delimiter |
DROP TRIGGER IF EXISTS after_update_user|
 CREATE TRIGGER after_update_user …
Run Code Online (Sandbox Code Playgroud)

mysql sql database triggers

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×3

triggers ×3

sql ×2

database ×1

mysql-error-1442 ×1