Есть обстоятельство, что я должен разделить несколько таблиц по разным идентификаторам компании. Каждая компания имеет индивидуальную базу данных и таблицу реплик. Мне нужно создать базу данных и скопировать таблицы, используя одну процедуру MySQL при добавлении компании. Просто так:
CREATE OR REPLACE PROCEDURE new_db (IN project_id INT)
BEGIN
DECLARE tempsql VARCHAR(500);
SET tempsql = CONCAT('CREATE DATABASE crawl_data_p', project_id);
PREPARE stmt FROM tempsql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- how to change database here? ? ? ? ? ?
Теперь я хочу создать таблицы в базе данных, которую я только что создал, но не могу изменить базу данных динамически. Я искал это в Google, но тщетно. Использование PREPARE
для переключения базы данных недопустимо. Итак, как я могу скопировать таблицы в новую базу данных?