![]() |
|
Модераторы: skyboy |
![]()
|
|
| Geser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.5.2006 Репутация: нет Всего: нет |
Есть таблица с данными. Нужно сделать ее полную копию.
Как это можно сделать? Через SELECT INSERT не хотелось бы т.к. слишком много доп.манимуляций с бд. ЗЫ:таблиц много. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Backup Table / Restore Table
а быстрее всего mysqlhotcopy -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Geser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.5.2006 Репутация: нет Всего: нет |
Забыл сказать - интересует только sql-запрос.
Всякие тулзы не подходят т.к. будет на подобие предустановленного скрипта. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Backup Table / Restore Table - это TSQL.
mysqlhotcopy - это предустановленный в составе MySQL скрипт. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Правда индексы придётся самому ставить. Дa и не быстрее это первого варианта.. |
|||
|
||||
| Geser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.5.2006 Репутация: нет Всего: нет |
Akina, а mysqlhotcopy в php-скрипт запихнуть можно?
Я же выше написал, что мне нужен чистый sql-запрос sergejzr, т.е.? Это сообщение отредактировал(а) Geser - 20.1.2007, 14:32 |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
||||
|
||||
| Geser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.5.2006 Репутация: нет Всего: нет |
sergejzr, уже вижу. Но не смотря на это, такой вариант более предпочтителен, чем тот что предложил Rodman.
Индексы создавать руками не хотелось бы. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Если у тебя пхп, то сперва селектируй "SHOW CREATE TABLE" это тебе даст полностью запрос для создания. Заменишь там имя таблицы и выполнишь его. А потом "SELECT * INTO MyNewTable FROM MyTable", как предложил Rodman, или "INSERT INTO tab2 SELECT * FROM tab1" В любом случае это правильные варианты. По скорости не отличаются от работы с дампом |
|||
|
||||
| Geser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.5.2006 Репутация: нет Всего: нет |
Сенк, попробуем...
А Rodman вариант не работает(ругается на имя новой таблицы, которая не создана). Это сообщение отредактировал(а) Geser - 20.1.2007, 14:57 |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
ну так конечно ругаться будет... этот запрос не предусматривает создание таблицы, только выборку и добавление данных...
|
|||
|
||||
| Geser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.5.2006 Репутация: нет Всего: нет |
Ну вот поэтому он мне и не подошел.
|
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
Rodman, в очередной (на моей памяти четрвёртый) раз полный бред говорите. MySQL такого синтаксиса даже не поддерживает (http://dev.mysql.com/doc/refman/5.1/en/ansi-diff-select-into-table.html). У вас в голове какая-то каша.
Geser, Самый быстрый способ, это конечно же, манипуляция с файлами, а не с помоющью запросов. Классический способ запросами: CREATE TABLE tablecopy LIKE table; ALTER TABLE tablecopy DISABLE KEYS; INSERT INTO tablecopy SELECT * FROM table; ALTER TABLE tablecopy ENABLE KEYS; |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
muzer, я не работаю на прямую только с СУБД... я обрабатываю данные программно и тем самым формирую запросы циклические или еще какие нить...
Свои запросы, которые я предлагал я смогу реализовать из делфей.... вот и предложил основу... если хочешь я всех буду тебе направлять... чтоб у тебя голова не болела за меня... |
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
Rodman, какая нафиг разница как работать с базой данных, если предоженный вами синтаксис просто не поддерживается, т.е. он неверный, такой запрос в mysql не будет работать. И неважно из delphi вы с mysql соединятетесь или нет.
Направлять мне никого не надо. Я просто не понимаю смысла давать советы, которые не работают. Может объясните? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Модератор: Обьясняйтесь по ПМ, пожалуйста! Здесь не место для разборок! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |