触发器在插入时尝试插入另一个数据库时抛出错误
Trigger throws error while trying to insert into another db on insert
我试图从本地主机下同一服务器上的 'fold' 数据库插入 'latestdb',抛出此错误:
错误
SQL查询:
CREATE trigger after_insert_db1_t1 AFTER INSERT ON `fold`.pr_users
FOR each
ROW BEGIN INSERT INTO `latestdb`.pr_users(
username,
userpass,
email
)
VALUES (
NEW.username, NEW.userpass, NEW.email
);
MySQL 说:文档
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use
near '' at line 1
两个表具有相同的名称,具有这些字段 -
id
、username
、userpass
、email
、departmentid
、userroleid
、managerid
、userlevel
、branchid
、is_global
、registrationtime
、timemodified
、modifierid
、status
、deleted
、temppass
, temppassvalidtill
, lastlogin
, lastrefresh
, lastloginip
, if_online
, pfield
, company
但我只想复制 3 个字段 - 用户名、用户密码、电子邮件
删除 BEGIN
和 END;
似乎消除了此处的语法错误问题。
CREATE TRIGGER after_insert_db1_t1
AFTER INSERT ON `fold`.pr_users
FOR EACH ROW
INSERT INTO `latestdb`.pr_users(
username, userpass, email
)
VALUES (
NEW.username, NEW.userpass, NEW.email
);
我试图从本地主机下同一服务器上的 'fold' 数据库插入 'latestdb',抛出此错误:
错误 SQL查询:
CREATE trigger after_insert_db1_t1 AFTER INSERT ON `fold`.pr_users
FOR each
ROW BEGIN INSERT INTO `latestdb`.pr_users(
username,
userpass,
email
)
VALUES (
NEW.username, NEW.userpass, NEW.email
);
MySQL 说:文档
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use
near '' at line 1
两个表具有相同的名称,具有这些字段 -
id
、username
、userpass
、email
、departmentid
、userroleid
、managerid
、userlevel
、branchid
、is_global
、registrationtime
、timemodified
、modifierid
、status
、deleted
、temppass
, temppassvalidtill
, lastlogin
, lastrefresh
, lastloginip
, if_online
, pfield
, company
但我只想复制 3 个字段 - 用户名、用户密码、电子邮件
删除 BEGIN
和 END;
似乎消除了此处的语法错误问题。
CREATE TRIGGER after_insert_db1_t1
AFTER INSERT ON `fold`.pr_users
FOR EACH ROW
INSERT INTO `latestdb`.pr_users(
username, userpass, email
)
VALUES (
NEW.username, NEW.userpass, NEW.email
);