2016-09-21 2 views
2

Я пытаюсь вставить данные в таблицу БД второго сервера после того, как вставлены первый сервер»таблицы, как показано ниже структуры,MYSQL - Как вставить данные на другой сервер БД таблицу

Второй сервер:

use SecondServerDB; 

CREATE TABLE user (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(50) NOT NULL, 
    `age` smallint(6) NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB; 

После создания таблицы в Second разъединять, я создал таблицу в первом сервере, как показано ниже,

Первый сервер:

use FirstServerDB; 

CREATE TABLE remote_user2 (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(50) NOT NULL, 
    `age` smallint(6) NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=FEDERATED 
DEFAULT CHARSET=latin1 
CONNECTION='mysql://MysqlUserName:[email protected]:3306/SecondServerDB/user'; 

После создания FEDERATED таблицы на втором сервере, создания триггеров в том же сервере, как показано ниже,

DELIMITER $$ 

    CREATE TRIGGER remote_insert_Testing AFTER INSERT ON remote_user2 FOR EACH ROW 
    BEGIN 
     INSERT INTO user (ID,name, age) VALUES (NEW.ID,NEW.name, NEW.Age); 
    END $$ 

DELIMITER ; 

Если я запускаю вставки запроса, как показано ниже,

INSERT INTO remote_user2 (ID,name, age) VALUES (1,'Name',27); 

Затем он показывает, Код ошибки: 1146. Таблица «FirstServerDB.user» не существует.

где я совершаю ошибку?

Примечание: я googled и узнал, что я пытаюсь, возможно. How to create trigger to insert data to a database on another server для возможного

ответ

0

Попробуйте использовать полные имена таблиц в вашем триггере:

DELIMITER $$ 

CREATE TRIGGER remote_insert_Testing 
AFTER INSERT ON FirstServerDB.remote_user2 FOR EACH ROW 
BEGIN 
    INSERT INTO SecondServerDB.user (ID,name, age) 
    VALUES (NEW.ID, NEW.name, NEW.Age); 
END $$ 
DELIMITER ; 

Если вы не против перемещения данных через обычный запрос, вы можете попробовать следующее:

INSERT INTO SecondServerDB.user (ID, name, age) 
SELECT ID, name, age 
FROM FirstServerDB.remote_user2 
+0

Тем не менее, я вижу, что SecondServerDB.user не существует. – MMMMS

Смежные вопросы