将记录插入general
后,我希望将regno
复制到conf_regno
中的conf
。
我计划使用AFTER INSERT
触发器执行此操作,但无法使其工作。我的主机正在运行MySQL v 5.5
这是我的触发器 - 在phpMYadmin中输出错误:
DELIMITER $$
DROP TRIGGER IF EXISTS sharonb9_titles.ins_regno;
CREATE TRIGGER ins_regno AFTER INSERT ON general
FOR EACH ROW
BEGIN
INSERT INTO conf(conf_regno) VALUES(NEW.regno);
END;
$$
DELIMITER;
表:
CREATE TABLE general (
id INT(4) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
regno VARCHAR(20) NOT NULL,
owner VARCHAR(50) NOT NULL,
dog VARCHAR(50) NOT NULL);
CREATE TABLE conf (
id INT(4) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
conf_regno VARCHAR(20) NOT NULL,
conf_CH_Y VARCHAR(4) NOT NULL DEFAULT 'xxxx',
conf_CH_V INT(2) UNSIGNED NOT NULL DEFAULT 0,
conf_GCH_Y VARCHAR(4) NOT NULL DEFAULT 'xxxx',
conf_SN_Y VARCHAR(4) NOT NULL DEFAULT 'xxxx',
conf_SN_V INT(2) UNSIGNED NOT NULL DEFAULT 0);
有人可以帮忙吗?
答案 0 :(得分:1)
您将分隔符设置为$$
,但最后在DROP TRIGGER
处执行;
命令。
无论如何,只有一个声明,您可以跳过所有DELIMITER
和BEGIN
/ END
内容:
CREATE TRIGGER ins_regno AFTER INSERT ON general
FOR EACH ROW INSERT INTO conf(conf_regno) VALUES(NEW.regno);