Уважаемый господин, у меня есть мастер-таблица tbl_appli_basic_info для этой таблицы. Я создал два типа триггера, один после вставки, а другой - перед триггером обновления. Я вставляю первую запись в основную таблицу, значит, когда первичный ключ равен единице, она вставляет запись в основную таблицу. Перед вставкой триггера вставьте запись в tbl_appli_basic_info_after_insert, которую я создаю отдельно. Во-вторых, когда я обновляю первичный ключ, одна запись, скажем, в основной таблице, я вставляю имя, т. Е. Ab, теперь я обновляю его до ab c, после триггера обновления вставляю данные в другую таблицу, т.е. данные дважды говорят, что имя ab c, теперь я изменил его abcxzy, он не позволил мне обновить запись. Моя основная цель использования после триггера вставки состоит в том, чтобы поддерживать запись, как только она вставляется в основную таблицу, после этого я не использую эту таблицу. триггер после обновления ведет учет одного пользователя, сколько раз я обновляю записи в разных строках. Я не могу манипулировать кодом, пожалуйста, исправьте мой код. Я буду вам полон.
DROP TABLE IF EXISTS `tbl_appli_basic_info`;
CREATE TABLE IF NOT EXISTS `tbl_appli_basic_info` (
`appli_basic_info_id` int(22) NOT NULL AUTO_INCREMENT,
`apli_reg_no` int(22) NOT NULL,
`full_name` varchar(256) NOT NULL,
PRIMARY KEY (`appli_basic_info_id`),
KEY `apli_reg_no` (`apli_reg_no`)
);
CREATE TABLE IF NOT EXISTS `tbl_appli_basic_info_after_insert` (
`appli_basic_info_id` int(22) NOT NULL AUTO_INCREMENT,
`apli_reg_no` int(22) NOT NULL,
`full_name` varchar(256) DEFAULT NULL,
PRIMARY KEY (`appli_basic_info_id`),
KEY `apli_reg_no` (`apli_reg_no`)
) ;
CREATE TABLE IF NOT EXISTS `tbl_appli_basic_info_after_update` (
`appli_basic_info_id` int(22) NOT NULL AUTO_INCREMENT,
`apli_reg_no` int(22) NOT NULL,
`full_name` varchar(256) NOT NULL,
PRIMARY KEY (`appli_basic_info_id`)
);
DROP TRIGGER IF EXISTS `trg_appli_basic_info_after_insert`;
DELIMITER $$
CREATE TRIGGER `trg_appli_basic_info_after_insert` AFTER INSERT ON `tbl_appli_basic_info` FOR EACH ROW BEGIN
-- Insert record into tbl_appli_basic_info_after_insert table
INSERT INTO tbl_appli_basic_info_after_insert
( appli_basic_info_id,
apli_reg_no,
full_name)
VALUES
( NEW.appli_basic_info_id,
NEW.apli_reg_no,
NEW.full_name
);
END
$$
DELIMITER ;
DROP TRIGGER IF EXISTS `trg_appli_basic_info_before_update`;
DELIMITER $$
CREATE TRIGGER `trg_appli_basic_info_before_update` BEFORE UPDATE ON `tbl_appli_basic_info` FOR EACH ROW BEGIN
-- Insert record into audit table
INSERT INTO tbl_appli_basic_info_before_update
( appli_basic_info_id,
apli_reg_no,
full_name
)
VALUES
( NEW.appli_basic_info_id,
NEW.apli_reg_no,
NEW.full_name
);
END
$$
DELIMITER ;