ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

16.09.2007, 13:37
|
|
Участник форума
Регистрация: 05.04.2007
Сообщений: 123
Провел на форуме: 507350
Репутация:
27
|
|
MySQL (Delete)
Как узнать сколько было удалено записей в запросе?
Ничего толком ненашел только узнал что вообще должен выводиться ответ от комманды этой сколько удаленно, но как реализовать даже получение этого ответа я непонял ))
|
|
|

16.09.2007, 13:54
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Ты бы для начала сказал, на чем кодишь
|
|
|

16.09.2007, 13:56
|
|
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме: 3326855
Репутация:
702
|
|
есть в PHPmyAdmin, то должен высветиться отчёт.
|
|
|

16.09.2007, 14:06
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
Как узнать сколько было удалено записей в запросе?
Ничего толком ненашел только узнал что вообще должен выводиться ответ от комманды этой сколько удаленно, но как реализовать даже получение этого ответа я непонял ))
Все зависит от параметров запроса, вообще ты это средсвами mysql не посчитаешь, как вариант count(*) до и после и из 1 вычитаем 2...
|
|
|

16.09.2007, 14:20
|
|
Участник форума
Регистрация: 05.04.2007
Сообщений: 123
Провел на форуме: 507350
Репутация:
27
|
|
И без count'а как-то можно? а то что-то нехочеться грузить сильно все это))
И так от мускула на сервер 80% нагрузки идет
|
|
|

16.09.2007, 14:26
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
чето не чего в гово ботше не лезет...
дай пример запроса.
|
|
|

16.09.2007, 14:46
|
|
Участник форума
Регистрация: 05.04.2007
Сообщений: 123
Провел на форуме: 507350
Репутация:
27
|
|
Вот пример:
DELETE FROM test WHERE type = '1'
Когда читал мануал по MySQL там вроде написано, что он в ответе должен дать кол-во удаленых рядов, но как его получить я незнаю, ведь там возможен вывод только таблиц через функции
|
|
|

16.09.2007, 14:50
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
PHP код:
$zapros = 'DELETE FROM test WHERE type = 1';
$result = @mysql_query($zapros);
$delnum = @mysql_result($result,0) ;
|
|
|

16.09.2007, 15:00
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Я так и не понял на чём ТС ведёт разработку, но если на PHP, то это всё элементарно:
<?php
mysql_pconnect("somehost", "someuser", "somepassword") or
die("Could not connect: " . mysql_error());
mysql_select_db("some_db") or
die("Could not select database: " . mysql_error());
mysql_query("DELETE FROM test WHERE type=1");
printf ("Records deleted: %d\n", mysql_affected_rows());
?>
Только будьте внимательны. Если запрос на удаление не содержал условия WHERE (удалялись все записи), то функция mysql_affected_rows() всегда возвращает 0.
|
|
|

16.09.2007, 18:15
|
|
Новичок
Регистрация: 02.06.2007
Сообщений: 24
Провел на форуме: 119202
Репутация:
19
|
|
Оператор DELETE удаляет из таблицы table_name строки, удовлетворяющие заданным в where_definition условиям, и возвращает число удаленных записей.
Так что можно как при обычном INSERT вывести результат. (здаётся мне это будет первый элемент возвращаемого массива)
Если действительно необходимо знать число удаленных записей при удалении всех строк, и если допустимы потери в скорости, то можно использовать команду DELETE в следующей форме:
mysql> DELETE FROM table_name WHERE 1>0;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|