mysql - 在mysql中的两个数据库之间在mysql中触发

标签 mysql triggers

当一行插入到 db1 中的 tbl1 时,我需要两个数据库之间的触发器,该行插入到 db2 中的 tbl2。

CREATE TRIGGER `update_users` AFTER INSERT ON `db1`.`tbl1`
FOR EACH ROW INSERT INTO `db2`.`tbl2` (id,email,password)
VALUES
(???)

VALUES里写的是什么??

最佳答案

看例子:

mysql> CREATE DATABASE `db1`;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE `db2`;
Query OK, 1 row affected (0.00 sec)

mysql> USE `db1`;
Database changed

mysql> CREATE TABLE `tbl1` (
    ->     `id` INT UNSIGNED,
    ->     `email` VARCHAR(255),
    ->     `password` VARCHAR(255)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> DELIMITER //

mysql> CREATE TRIGGER `update_users` AFTER INSERT ON `tbl1`
    -> FOR EACH ROW
    -> BEGIN
    ->     INSERT INTO `db2`.`tbl2` (`id`, `email`, `password`)
    ->     VALUES
    ->     (NEW.`id`, NEW.`email`, NEW.`password`);
    -> END//
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;

mysql> USE `db2`;
Database changed

mysql> CREATE TABLE `tbl2` (
    ->     `id` INT UNSIGNED,
    ->     `email` VARCHAR(255),
    ->     `password` VARCHAR(255)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> USE `db1`;
Database changed

mysql> INSERT INTO `tbl1` VALUES (1, 'email@email.net', 'secret');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT `id`, `email`, `password` FROM `tbl1`;
+------+-----------------+----------+
| id   | email           | password |
+------+-----------------+----------+
|    1 | email@email.net | secret   |
+------+-----------------+----------+
1 row in set (0.00 sec)

mysql> SELECT `id`, `email`, `password` FROM `db2`.`tbl2`;
+------+-----------------+----------+
| id   | email           | password |
+------+-----------------+----------+
|    1 | email@email.net | secret   |
+------+-----------------+----------+
1 row in set (0.00 sec)

关于mysql - 在mysql中的两个数据库之间在mysql中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33581980/

相关文章:

mysql - SQL触发器的使用

mysql - 在更新时创建触发器以将旧值插入到 MYSQL 中的其他表中

sql - 触发器中的SQL ORACLE错误

php - 在 PHP 中创建 mySQL 查询以生成列平均值的 JSON 数组

php - 安卓 : send json data to the Server

mysql - 这个触发器有什么问题吗?插入更新后

database - 触发器与非规范化存储过程的优缺点

php - 如何将值插入到有空格的表列中 php 和 mysql

Mysql:没有键名但无法创建表(错误号:121)

mysql - 更新实体时出错 - Symfony 3