mysql - 如何在插入另一个数据库的表上创建触发器

标签 mysql

我有两个名为 home 的 mySQL 数据库,另一个名为 zenphoto_live。

我想在 zephoto_live.zp_images 上创建一个触发器,当 zenphoto_live.zp_images 表上发生新的/更新时,该触发器将记录插入到 home.tbl_new_image_inserts 中。 我试过了

CREATE DEFINER = CURRENT_USER TRIGGER new_images AFTER INSERT ON zenphoto_live.zp_images FOR EACH ROW insert into home.tbl_new_image_inserts (id,albumid,datetime) values (zenphoto_live.zp_images.id,zenphoto_live.zp_images.albumid,now());

但我收到“未选择数据库”错误。

非常感谢任何帮助。

最佳答案

指定触发器的全名,例如-

CREATE DEFINER = CURRENT_USER TRIGGER zephoto_live.new_images AFTER INSERT ON
...

或者为 session 设置默认数据库 -

USE zephoto_live;
CREATE DEFINER = CURRENT_USER TRIGGER new_images AFTER INSERT ON
...

关于mysql - 如何在插入另一个数据库的表上创建触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6904235/

相关文章:

mysql - 克服 MySQL Select 中的时区差异

php - 不从多个表返回数据(php/sql)

php - MySQL 行中的总日期时间

Java 和 MySQL,SELECT 有效;插入不

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown database 'xyz'

mysql - 与我的脚本有关,为什么我不能对子查询计数器使用 where 子句 = '1'

javascript - 使用AJAX使用按钮将表单信息发送到另一个页面

mysql - 从 select 创建表,然后通过在 mysql 中添加自动增量列来更改表

MySQL LIKE vs LOCATE

mysql - 按正确顺序从一张表中选择 parent 和 child