Старый 09.01.2010, 02:25   #1
Специалист
 
Аватар для Seo Ассенизатор
 
Регистрация: 21.10.2008
Сообщений: 110
Вес репутации: 190
Seo Ассенизатор скоро станет известен
Отправить сообщение для Seo Ассенизатор с помощью ICQ
По умолчанию Очистка таблицы базы данных Mysql Раз в сутки

Подскажите решение для очистки таблицы базы данных Mysql Раз в сутки.

Суть вопроса:
Имеется сайт. У сайта база данных 'base'. В базе есть таблица 'table' со своими полями (в этой базе сохраняется история голосования для защиты от накрутки - IP, браузер, время, операционка, разрешение экрана и много много всего). При голосовании эта база естественно заполняется. Нужно, чтобы раз в день пользователь мог проголосовать (соответственно его "параметров" не должно быть в таблице), то есть раз в день (допустим в 0:00) эта таблица должна автоматически очищаться (на данный момент очищаю её в ручную).

Подскажите решение для cron или любое другое доступное. Версии MySQL - 5.0-5.1.30, PHP - 5-5.2.6

Всем спасибо!

Добавлено через 21 минуту
Всё, решение найдено!) Может кому пригодится!

<?php
$link = mysql_connect("localhost", "пользователь-БД", "пароль-к-БД");
$rv = mysql_select_db(БД, $link);
$sql = "TRUNCATE `таблица`";
$query = mysql_query($sql);
?>

Этот код позволяет полностью зачищать таблицу в БД (можете настроить её через крон на запуск в определённое время).

Всем спасибо!) И успехов в 2010!

Последний раз редактировалось Seo Ассенизатор; 09.01.2010 в 02:25. Причина: Добавлено сообщение
Seo Ассенизатор вне форума   Ответить с цитированием
Старый 09.01.2010, 13:17   #2
Специалист
 
Аватар для apple
 
Регистрация: 15.07.2007
Адрес: Беларусь, но скоро будет РФ :)
Сообщений: 232
Вес репутации: 211
apple - как роза среди колючекapple - как роза среди колючекapple - как роза среди колючекapple - как роза среди колючек
По умолчанию

mysql> LOCK TABLES таблица WRITE
mysql> TRUNCATE TABLE таблица;
mysql> OPTIMIZE TABLE таблица;
mysql> UNLOCK TABLES;

Если хостинг виртуальный, то TRUNCATE иногда не работает, так как она пересоздает таблицу. Не будет прав, таблица удалится и не создастся
По моему оптимизацию overhead после TRUNCATE делать не надо, а вот после DELETE FROM таблица; надо. Тогда таблица не пересоздается, а просто очищается, но занимаемое ей место на жестком диске остается. С одной стороны хорошо, если данных мало. С другой стороны может начатся фрагментация, если количество данных больше.
__________________
Получи хостинг и .RU за минуту! Включи сейчас, плати потом! Полностью автоматизированный хостинг. Составьте сами Тарифный план!
Каб любить Беларусь нашу милую... требо в росных краях побывать...

Последний раз редактировалось apple; 09.01.2010 в 13:22.
apple вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных - эскпорт/импорт данных проекта. primec Вопросы по работе системы 3 30.11.2009 10:49
Можно ли удалить свой старый аккаунт или хотябы свой емайл из базы данных? RaZoR Вопросы по работе системы 9 21.11.2008 19:03


Часовой пояс GMT +3, время: 14:19.