Копирование из таблицы в таблицу с условием MySql
Такая задача: есть переменная(например 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 в последней и предпредпоследней строчке не работает.
Источник: Stack Overflow на русском