使用触发器更新同一服务器上另一个数据库的表

gstyhher  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(357)

每当db1.sales中使用触发器发生insert事件时,我就尝试在db2.inventory中插入记录。

DROP TRIGGER IF EXISTS `insertintodb2`;
 CREATE DEFINER=`root`@`localhost`
 TRIGGER `insertintodb2` AFTER INSERT ON `sales`
 FOR EACH ROW 
 INSERT INTO `db2.dbo.inventory` (ID) VALUES (0);

它给了我错误 db1.db2.dbo.inventory 不存在。
我怎样才能做到这一点。谢谢您

t3irkdon

t3irkdon1#

正如您在这里看到的,引号(backtick)用于标识对象名称,但您必须在每个对象上使用它们:

`db2`.`dbo`.`inventory`

如果对象名称没有误导性,则不使用它们:

db2.dbo.inventory
e4eetjau

e4eetjau2#

mysql和mariadb不使用 .dbo. 语法。只有数据库(aka schema)名称和表名称:

db2.inventory

`db2`.`inventory`

(在这种情况下,是否有背部抽搐并不重要。)

相关问题