Когда запись вставлена в general
, я хочу, чтобы regno
был скопирован в conf_regno
в conf
.mysql trigger insert field в отдельной таблице
Я планирую сделать это с помощью триггера 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);
Может кто-нибудь помочь?
сообщение об ошибке ?? – Uueerdo
Я скажу, но, может быть, это поможет вам изменить (NEW.regno) на (ROW.regno), я думаю :) –
Попробуйте взять ';' от 'END;'? Кроме того, ваш 'DROP TRIGGER' должен быть до' DELIMITER $$'. – Uueerdo