Триггер для вставки id в с двух разных таблиц - MySQL
Формулировка задачи:
Здравствуйте, у меня есть таблица clients и там есть поле client_id (primary key , AI) и таблица movies есть поле movie_id (primary key , AI) . И я хочу при вставке новых id в этих таблицах, чтобы эти id записывались в 3 таблицу "client_movies" с полями clientId | movie_id . Возможно ли написать такой триггер который бы автоматом записывал значение с 2 разных таблиц в эту 3? Я что то слышал об insert..select , и какой примерно будет написан запрос? Спасибо
Решение задачи: «Триггер для вставки id в с двух разных таблиц»
textual
Листинг программы
- CREATE TABLE `aaa` (
- `id` int(10) NOT NULL AUTO_INCREMENT,
- `a1` char(15) COLLATE utf8_bin NOT NULL,
- `a2` int(5) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
- CREATE TABLE `bbb` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `id_a1` int(10) NOT NULL,
- `a3` char(15) COLLATE utf8_bin NOT NULL,
- `a4` int(5) NOT NULL,
- `sss` varchar(30) COLLATE utf8_bin NOT NULL,
- `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
- DELIMITER ;;
- CREATE TRIGGER `INSERT_aaa` AFTER INSERT ON `aaa` FOR EACH ROW BEGIN
- INSERT INTO bbb Set sss = 'Добавл', id_a1 = NEW.id, a3 = New.a1, a4 = New.a2;
- END;;
- DELIMITER ;
- DELIMITER ;;
- CREATE TRIGGER `UPDATE_aaa2` AFTER UPDATE ON `aaa` FOR EACH ROW BEGIN
- INSERT INTO bbb Set sss = 'Изме', id_a1 = NEW.id, a3 = New.a1, a4 = New.a2;
- END;;
- DELIMITER ;
- DELIMITER ;;
- CREATE TRIGGER `DELETE_aaa3` AFTER DELETE ON `aaa` FOR EACH ROW BEGIN
- INSERT INTO bbb Set sss = 'Уд', id_a1 = OLD.id, a3 = OLD.a1, a4 = OLD.a2;
- END;;
- DELIMITER ;
Объяснение кода листинга программы
- Создается таблица
aaa
с полямиid
,a1
,a2
иPRIMARY KEY
- Создается таблица
bbb
с полямиid
,id_a1
,a3
,a4
,sss
,time
иPRIMARY KEY
- Устанавливается триггер
INSERT_aaa
который будет добавлять записи в таблицуbbb
после вставки каждой записи в таблицуaaa
- Устанавливается триггер
UPDATE_aaa2
который будет добавлять записи в таблицуbbb
после обновления каждой записи в таблицеaaa
- Устанавливается триггер
DELETE_aaa3
который будет добавлять записи в таблицуbbb
после удаления каждой записи в таблицеaaa
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д