Триггер для вставки 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
Листинг программы
  1. CREATE TABLE `aaa` (
  2.   `id` int(10) NOT NULL AUTO_INCREMENT,
  3.   `a1` char(15) COLLATE utf8_bin NOT NULL,
  4.   `a2` int(5) NOT NULL,
  5.   PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  7.  
  8.  
  9. CREATE TABLE `bbb` (
  10.   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  11.   `id_a1` int(10) NOT NULL,
  12.   `a3` char(15) COLLATE utf8_bin NOT NULL,
  13.   `a4` int(5) NOT NULL,
  14.   `sss` varchar(30) COLLATE utf8_bin NOT NULL,
  15.   `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  16.   PRIMARY KEY (`id`)
  17. ) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  18.  
  19.  
  20. DELIMITER ;;
  21. CREATE TRIGGER `INSERT_aaa` AFTER INSERT ON `aaa` FOR EACH ROW BEGIN
  22.   INSERT INTO bbb Set sss = 'Добавл', id_a1 = NEW.id, a3 = New.a1, a4 = New.a2;
  23. END;;
  24. DELIMITER ;
  25.  
  26.  
  27. DELIMITER ;;
  28. CREATE TRIGGER `UPDATE_aaa2` AFTER UPDATE ON `aaa` FOR EACH ROW BEGIN
  29.    INSERT INTO bbb Set sss = 'Изме', id_a1 = NEW.id, a3 = New.a1, a4 = New.a2;
  30. END;;
  31. DELIMITER ;
  32.  
  33. DELIMITER ;;
  34. CREATE TRIGGER `DELETE_aaa3` AFTER DELETE ON `aaa` FOR EACH ROW BEGIN
  35.    INSERT INTO bbb Set sss = 'Уд', id_a1 = OLD.id, a3 = OLD.a1, a4 = OLD.a2;
  36. END;;
  37. DELIMITER ;

Объяснение кода листинга программы

  1. Создается таблица aaa с полями id, a1, a2 и PRIMARY KEY
  2. Создается таблица bbb с полями id, id_a1, a3, a4, sss, time и PRIMARY KEY
  3. Устанавливается триггер INSERT_aaa который будет добавлять записи в таблицу bbb после вставки каждой записи в таблицу aaa
  4. Устанавливается триггер UPDATE_aaa2 который будет добавлять записи в таблицу bbb после обновления каждой записи в таблице aaa
  5. Устанавливается триггер DELETE_aaa3 который будет добавлять записи в таблицу bbb после удаления каждой записи в таблице aaa

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы