|
|
|
| Подскажите пожалуйста, как вывести список удаленных из таблицы записей.
delete from tUsers where $time-lasttime > '$maxlifetime'
| . | |
|
|
|
|
|
|
|
для: Евгений Петров
(11.06.2005 в 23:54)
| | Сначала выполнить выборку при помощи оператора SELECT
SELECT " FROM tUsers WHERE $time-lasttime > '$maxlifetime'
|
а затем, произвести удаление записей
delete from tUsers where $time-lasttime > '$maxlifetime'
|
| |
|
|
|
|
|
|
|
для: cheops
(12.06.2005 в 00:02)
| | А возможно такое, что пока будет осуществляться выборка, в таблицу будут внесены изменения? | |
|
|
|
|
|
|
|
для: Евгений Петров
(12.06.2005 в 00:04)
| | Возможно. Если вы хотите предотвратить это, то можете заблокировать таблицу при помощи SQL-оператора LOCK TABLES
с последующей разблокировкой при помощи оператора UNLOCK TABLES
| |
|
|
|
|
|
|
|
для: cheops
(12.06.2005 в 01:17)
| | И все таки не красиво как-то получается. Два раза чесать по базе. Нельзя ли проделать весь этот процесс какой-то одной функцией. Заранее благодарен. | |
|
|
|
|
|
|
|
для: Евгений Петров
(12.06.2005 в 12:30)
| | Нет внешней функции нет, чтобы не нагружать сеть многочисленными запросами и ответами на них, в MySQL 5 введены хранимые процедуры. Можно написать такую хранимую процедуру и тогда запрос будет один (к хранимой процедуре), но реально база выполнит оба действия (SELECT и DELETE). Другое дело, что воспользоваться преимуществами MySQL 5 пока сложно, так как эта база данных пока не очень распространена, так как находится в стадии бетта-тестирования. | |
|
|
|