Подтвердить что ты не робот

Легкий синтаксис "create table from view" в mysql?

Я хочу создать таблицу, представляющую собой кеш результатов из представления. Есть ли простой способ автоматически определить таблицу из определения представления, или мне придется сгладить ее вместе с show create table view?

4b9b3361

Ответ 1

Вы можете сделать CREATE TABLE SELECT из представления, чтобы его создать. Это должно дублировать структуру представления как новую таблицу, содержащую все строки представления. Здесь ссылка на синтаксис MySQL для этого утверждения.

CREATE TABLE tbl_from_view AS    
  SELECT
    col1,
    col2,
    col3,
    col4,
    col5
  FROM your_view;

Обратите внимание, что вы захотите быть очень явным в выборе столбцов. Не рекомендуется делать SELECT * из исходного представления. Убедитесь также, что у вас есть псевдонимы для любых вычисленных или совокупных столбцов, таких как COUNT(*), MAX(*), (col1 + col2) и т.д.

Ответ 2

Я также обнаружил, что в выводе mysqldump есть инструкции, которые создают представление как таблицу, перед тем, как он определяет представление. Я могу разобрать их и запустить их в качестве запросов.