まぁ普通はまるきり同じ複製を作るなんて無駄なことはしませんね
ログをとったり正規化したテーブルの整合性をとったりします
とはいえ、単純にuser1の走査をuser2に適用するならこんな感じ
テーブル作成
SQL
1CREATE TABLE user1(id INT NOT NULL PRIMARY KEY,surname VARCHAR(30),name VARCHAR(30));
2CREATE TABLE user2(id INT NOT NULL PRIMARY KEY,surname VARCHAR(30),name VARCHAR(30));
3
トリガー作成
SQL
1DROP TRIGGER IF EXISTS TRG_USER_IN;
2DROP TRIGGER IF EXISTS TRG_USER_MOD;
3DROP TRIGGER IF EXISTS TRG_USER_DEL;
4DELIMITER //
5CREATE TRIGGER TRG_USER_IN AFTER INSERT ON user1
6FOR EACH ROW BEGIN
7INSERT INTO user2(id,surname,name) VALUES(new.id,new.surname,new.name);
8END;
9//
10CREATE TRIGGER TRG_USER_MOD AFTER UPDATE ON user1
11FOR EACH ROW BEGIN
12UPDATE user2 SET id=new.id,surname=new.surname,name=new.name
13WHERE id=old.id;
14END;
15//
16CREATE TRIGGER TRG_USER_DEL BEFORE DELETE ON user1
17FOR EACH ROW BEGIN
18DELETE FROM user2 WHERE id=old.id;
19END;
20//
21DELIMITER ;
22
テスト:user1の操作
SQL
1INSERT INTO user1 VALUES(1,'a','AAA'),(2,'b','BBB'),(3,'c','CCC');
2UPDATE user1 SET NAME='XXX' WHERE id=1;
3UPDATE user1 SET id=10 WHERE id=2;
4DELETE FROM user1 WHERE id=3;