1

Тема: Бекап базы по дате

Здравствуйте.
Имеется база данных в мускуле, обслуживается через phpmyadmin
Подскажите, как сделать бекап за определенные даты?
Пока получается только полностью забекапить, но нужно именно по датам, чтобы потом этот кусок удалить из базы.

2

Re: Бекап базы по дате

londone
Сперва сделайте выборку по дате: SELECT * FROM `table` WHERE `time`...
Выполнив этот запрос, снизу увидите ссылку "Экспорт", перейдите по ней и сможете сделать дамп только выбранных строк таблицы.

3 (изменено: londone, 2009-07-31 14:49:12)

Re: Бекап базы по дате

Спасибо за ответ!
Выбираю таблицу zakaz и дату в виде  reade_date
Но Export так и не появился

4

Re: Бекап базы по дате

londone
Выбрать не достаточно, надо писать запрос с условием выборки. Выше я показал пример, где после WHERE `time` должно идти условие, например: WHERE `time` = "2009-01-01". Это пример выборки за первое января, если поле `time` имеет тип DATE, или TIMESTAMP.

5

Re: Бекап базы по дате

Дело в том, что нет конкретных дат, просто набор каких-то цифр
Поле date_complete имеет вид 1202209316

6

Re: Бекап базы по дате

Попробуйте задать диапазон дат таким образом.

SELECT * FROM `table` WHERE `time` > UNIX_TIMESTAMP("2009-01-01 00:00:00") AND `time` < UNIX_TIMESTAMP("2009-01-02 00:00:00");

7

Re: Бекап базы по дате

Your SQL-query has been executed successfully
SQL-query:
SELECT * FROM `zakaz` WHERE `date_complete` > UNIX_TIMESTAMP("2009-01-01 00:00:00") AND `date_complete` < UNIX_TIMESTAMP("2009-01-02 00:00:00")

но даты не поменялись, имеют все тот же набор цифр

8

Re: Бекап базы по дате

londone
Они и должны иметь такой вид. Функция UNIX_TIMESTAMP приводит эти цифры из читаемого вида в целочисленный, чтобы можно было осуществить выборку по диапазону.

9

Re: Бекап базы по дате

понял, но суть вопроса не поменялась
как мне правильно сделать выборку?
пробовал

 SELECT * FROM `zakaz` WHERE `date_complete` = "2009-01-02 00:00:00"

10

Re: Бекап базы по дате

londone
А что выводит этот запрос?

SELECT * FROM `zakaz` WHERE `date_complete` > UNIX_TIMESTAMP("2009-01-01 00:00:00") AND `date_complete` < UNIX_TIMESTAMP("2009-01-02 00:00:00")

11

Re: Бекап базы по дате

Your SQL-query has been executed successfully
SQL-query:
SELECT * FROM `zakaz` WHERE `date_complete` > UNIX_TIMESTAMP("2009-01-01 00:00:00") AND `date_complete` < UNIX_TIMESTAMP("2009-01-02 00:00:00")

и больше ничего, ни экспорта ни каких-либо изменений, просто появилась эта запись

12

Re: Бекап базы по дате

londone
Возможно не найдено строк с таким диапазоном дат. Попробуйте изменить диапазон.

13

Re: Бекап базы по дате

Hanut сказал:

londone
Возможно не найдено строк с таким диапазоном дат. Попробуйте изменить диапазон.

да нет,в базе ежедневные обновления

14

Re: Бекап базы по дате

1202209316 это 2008-02-05 14:01:56.

SELECT * FROM `zakaz` WHERE `date_complete` > UNIX_TIMESTAMP("2008-02-05 00:00:00") AND `date_complete` < UNIX_TIMESTAMP("2008-02-06 00:00:00")

15

Re: Бекап базы по дате

спасибо!
как бы теперь сделать, чтобы все выбранное экспортировалось и разом удалить из базы?

16

Re: Бекап базы по дате

londone
Про экспорт я уже говорил: при выполнении данного запроса, снизу должна быть ссылка "Экспорт".

Для удаления модифицируйте запрос следующим образом:

DELETE FROM `zakaz` WHERE `date_complete` > UNIX_TIMESTAMP("2008-02-05 00:00:00") AND `date_complete` < UNIX_TIMESTAMP("2008-02-06 00:00:00")

17

Re: Бекап базы по дате

да, я помню, что Вы писали
но дело в том, что снизу не появилось, есть только Insert Row

18

Re: Бекап базы по дате

londone
Сразу после выполнения SQL запроса на выборку данных (SELECT), должна появиться таблица собственно с данными, снизу которой будет ссылка "Экспорт". Insert Row находится на странице структуры таблицы, а мы должны быть на странице "Обзор" (Browse).

Если запрос не вывел данных (ноль строк), то будет видна только структура, что означает: запрос не вернул никаких результатов.

19

Re: Бекап базы по дате

Запрос выдал список, но снизу только Insert Row
Будто нажали Browse
Что не так?

20

Re: Бекап базы по дате

londone
Не имею представления что не так.
По возможности попробуйте поставить новую версию phpMyAdmin.

21

Re: Бекап базы по дате

Спасибо! Буду пробовать.
Сейчас стоит версия 2.0.5
Да уж, старовата.

22

Re: Бекап базы по дате

Спасибо огромное! Все работает.
Дело было в старости пхпмайадмин.