Копирование из таблицы в таблицу с условием MySql

Рейтинг: 0Ответов: 0Опубликовано: 01.03.2023

Такая задача: есть переменная(например i), исходя из её значения данные из одной таблицы копируются в другую. То есть если i = 1, то данные из таблицы "lesson" будут копироваться в DEP_1.lesson, если i = 2, то в DEP_2.lesson и тд. Изначально хотела сделать через операторы условий (CASE, IF), но выдает ошибку. В итоге вариант вот такой:

DROP 
  DATABASE IF EXISTS lessons;
  CREATE DATABASE lessons;
  USE lessons;

SELECT @index_db = 1;

CREATE TABLE `list_lesson`(
  `id` MEDIUMINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, 
  `topic` VARCHAR(250) NOT NULL, 
  `duration` DECIMAL(4, 2)NOT NULL, 
  `date` DATE NOT NULL, 
  `teacher` VARCHAR(100) NOT NULL, 
  `people_planned` SMALLINT NOT NULL
);

INSERT INTO list_lesson (`topic`, `duration`, `date`, `teacher`, `people_planned`) VALUES ('lesson_1', 2.5, '2011-03-13' , 'Cat', 10);

DELETE FROM DEP_1.lesson WHERE `id` > 0;
INSERT INTO DEP_1.lesson SELECT * FROM list_lesson WHERE @index_db = 1;

DELETE FROM DEP_2.lesson WHERE `id` > 0;
INSERT INTO DEP_2.lesson SELECT * FROM list_lesson WHERE @index_db = 2;

Подскажите, пожалуйста, есть ли более "красивый" вариант записи последних 4 срок, потому что таких условий мне нужно 15 штук, хотелось бы избежать огромного количества повторения строк.

P.S. Условие WHERE в последней и предпредпоследней строчке не работает.

Ответы

Ответов пока нет.