Ich bin ein Anfänger in Trigger. Bitte entschuldigen Sie, wenn ich eine dumme Frage gestellt habe. Ich habe versucht, einen Auslöser zu schreiben, der einen Feldwert (Name) in sol_erp_2014_admission_academic_course_master Tabelle mit Änderung in sol_erp_2014_academic_course_master Tabelle aktualisiert. Im Folgenden habe ich die Struktur der Tabellen und des Auslösers erwähnt, die ich geschrieben habe.Ausgabe auf Trigger in Mysql
Struktur der sol_erp_2014_academic_course_master Tabelle:
CREATE TABLE IF NOT EXISTS `sol_erp_2014_academic_course_master` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'cbcs_major_id',
`major_type` int(11) NOT NULL,
`section_id` int(11) NOT NULL,
`academic_institute_id` int(11) NOT NULL,
`academic_department_id` int(11) NOT NULL,
`specialization_id` varchar(255) NOT NULL DEFAULT '0',
`code` varchar(200) NOT NULL,
`name` varchar(200) NOT NULL,
`unit` int(11) NOT NULL,
`no_of_year` int(11) NOT NULL,
`max_num_of_year` int(11) NOT NULL,
`no_of_sem` int(11) NOT NULL,
`tot_min_credit` int(11) NOT NULL,
`tot_max_credit` int(11) NOT NULL,
`min_sem_pass_prctng` decimal(4,2) NOT NULL,
`routine_system` int(11) NOT NULL COMMENT '1->Day System; 2-> Week System',
`exam_evalution_grade_master_id` int(11) NOT NULL,
`status` enum('0','1') NOT NULL DEFAULT '1',
`date_added` date NOT NULL,
`date_edited` date NOT NULL,
`is_deleted` int(2) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='MAJOR' AUTO_INCREMENT=1 ;
Struktur der sol_erp_2014_admission_academic_course_master Tabelle:
CREATE TABLE IF NOT EXISTS `sol_erp_2014_admission_academic_course_master` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`academic_institute_id` int(11) NOT NULL,
`academic_department_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`status` enum('0','1') NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
nun der Auslöser, was ich geschrieben habe:
DELIMITER $$
DROP TRIGGER /*!50032 IF EXISTS */ `erp_adbu`.`sol_erp_2014_academic_course_master_update_before`$$
CREATE
/*!50017 DEFINER = 'root'@'%' */
TRIGGER `sol_erp_2014_academic_course_master_update_before` BEFORE UPDATE ON `sol_erp_2014_academic_course_master`
FOR EACH ROW BEGIN
DECLARE name_var VARCHAR(255);
DECLARE id_var INT;
SELECT name
INTO name_var
FROM sol_erp_2014_academic_course_master
WHERE sol_erp_2014_academic_course_master.id = NEW.id;
UPDATE sol_erp_2014_admission_academic_course_master SET name = name_var WHERE id = NEW.id;
END;
$$
DELIMITER ;
Jetzt bin ich zu aktualisieren einen Datensatz aus sol_erp_2014_academic_course_master Tisch. Aber der entsprechende Datensatz von sol_erp_2014_admission_academic_course_master Tabelle wird nicht aktualisiert.
Kann mir bitte jemand helfen?
Vielen Dank im Voraus.
Vielen Dank für Ihre Antwort. Es funktioniert gut. – Soumya