Как динамически создавать таблицы в другой базе данных того же сервера, используя процедуру MySQL? - PullRequest
0 голосов
/ 11 сентября 2018

Есть обстоятельство, что я должен разделить несколько таблиц по разным идентификаторам компании. Каждая компания имеет индивидуальную базу данных и таблицу реплик. Мне нужно создать базу данных и скопировать таблицы, используя одну процедуру 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 для переключения базы данных недопустимо. Итак, как я могу скопировать таблицы в новую базу данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...