Копирование таблицы

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Копирование таблицы

Допустим, у меня есть таблица table. Как мне сделать точно такую же таблицу с именем table2 самым простым и быстрым способом?
В мануале нашел только RENAME, но это вроде бы не то.
 

Апельсин

Оранжевое создание
rename - переименование

create .. select. Только индексы отдельно придется создавать.
 

fixxxer

К.О.
Партнер клуба
а если файлы просто скопить?..

попробовал
cd \mysql\data\DATABASE_NAME
copy table_name.* new_table_name.*

- работает...
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Автор оригинала: fixxxer
а если файлы просто скопить?..

попробовал
cd \mysql\data\DATABASE_NAME
copy table_name.* new_table_name.*

- работает...
Не думаю, что хостер даст доступ к этой папке :)
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Автор оригинала: Апельсин
rename - переименование

create .. select. Только индексы отдельно придется создавать.
Спасибо.
Однако, странно все это. Ведь таблица хранится в виде простых файлов, неужели нет специальной команды скопировать, а надо обязательно делать через непонятно что.
 

Апельсин

Оранжевое создание
> Ведь таблица хранится в виде простых файлов

это справедливо только для таблиц ISAM/MyISAM, а не для СУБД MySQL в целом.

> неужели нет специальной команды скопировать, а надо обязательно делать через непонятно что

CREATE .. SELECT, имхо, очень даже понятно что ;)
С 4.1 есть еще команда CREATE TABLE .. LIKE, которая воспроизводит структуру таблицы вместе с индексами также, но без данных.
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Автор оригинала: Апельсин
CREATE .. SELECT, имхо, очень даже понятно что ;)
Синтаксис-то понятен, просто я хотел сказать "через зад", но моя врожденная вежливость мне помешала. :)
 

Апельсин

Оранжевое создание
> просто я хотел сказать "через зад"

ну вы первый, кто называет подобный метод через "зад", до сих пор ни одного нарекания как-то не попадалось. Делайте выводы ;)
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Все-таки если бы я был разработчиком mysql, я бы предусмотрел функцию типа COPY TABLE table TO table2
 

Апельсин

Оранжевое создание
> Все-таки если бы я был разработчиком mysql

в чем проблема? Пишешь патч, отправляешь в [email protected] и наслаждаешься либо конструктивной критикой либо присутствием собственных изменений в коде MySQL :)
 
Сверху