Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: список удаленных записей
 
 автор: Евгений Петров   (11.06.2005 в 23:54)   письмо автору
 
 

Подскажите пожалуйста, как вывести список удаленных из таблицы записей.
delete from tUsers where $time-lasttime > '$maxlifetime'
.

   
 
 автор: cheops   (12.06.2005 в 00:02)   письмо автору
 
   для: Евгений Петров   (11.06.2005 в 23:54)
 

Сначала выполнить выборку при помощи оператора SELECT
SELECT " FROM tUsers WHERE $time-lasttime > '$maxlifetime'

а затем, произвести удаление записей
delete from tUsers where $time-lasttime > '$maxlifetime'

   
 
 автор: Евгений Петров   (12.06.2005 в 00:04)   письмо автору
 
   для: cheops   (12.06.2005 в 00:02)
 

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

   
 
 автор: cheops   (12.06.2005 в 01:17)   письмо автору
 
   для: Евгений Петров   (12.06.2005 в 00:04)
 

Возможно. Если вы хотите предотвратить это, то можете заблокировать таблицу при помощи SQL-оператора LOCK TABLES
LOCK TABLES tUsers WRITE

с последующей разблокировкой при помощи оператора UNLOCK TABLES
UNLOCK TABLES

   
 
 автор: Евгений Петров   (12.06.2005 в 12:30)   письмо автору
 
   для: cheops   (12.06.2005 в 01:17)
 

И все таки не красиво как-то получается. Два раза чесать по базе. Нельзя ли проделать весь этот процесс какой-то одной функцией. Заранее благодарен.

   
 
 автор: cheops   (12.06.2005 в 12:43)   письмо автору
 
   для: Евгений Петров   (12.06.2005 в 12:30)
 

Нет внешней функции нет, чтобы не нагружать сеть многочисленными запросами и ответами на них, в MySQL 5 введены хранимые процедуры. Можно написать такую хранимую процедуру и тогда запрос будет один (к хранимой процедуре), но реально база выполнит оба действия (SELECT и DELETE). Другое дело, что воспользоваться преимуществами MySQL 5 пока сложно, так как эта база данных пока не очень распространена, так как находится в стадии бетта-тестирования.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования