Как проверить пустая ли таблица sql
Перейти к содержимому

Как проверить пустая ли таблица sql

  • автор:

Проверка «Пустая ли таблица?» PDO

@Alex Вы уверены что правильно понимаете, что такое PDO? У меня складывается впечатление, что не совсем.

20 мар 2019 в 7:10
@Ипатьев видимо я подумал, что автор хочет использовать подготовленное выражение
20 мар 2019 в 8:18

Любителям закрывать вопросы. Единственной причиной закрыть этот вопрос может являться уже существовующий подобный вопрос с ответом. Никаких других причин закрывать этот вопрос нет. Рекомендую перечитать правила сайта.

20 мар 2019 в 8:27

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

$sql = 'SELECT id FROM table LIMIT 1'; $result = $pdo->query($sql); if ( !$result->fetch() ) < // Пустая таблица >// Либо так if ($result->rowCount() == 0) < // Пустая таблица >

Отслеживать
ответ дан 20 мар 2019 в 1:52
9,194 4 4 золотых знака 24 24 серебряных знака 47 47 бронзовых знаков
20 мар 2019 в 7:09
а rowCount — бессмысленная, а, главное, и не всегда доступная опция. так что только первый вариант.
20 мар 2019 в 7:27

Сделать select id from table limit 1 , если вернет пустой результат, то таблица пустая

Отслеживать
2,805 5 5 золотых знаков 21 21 серебряный знак 38 38 бронзовых знаков
ответ дан 19 мар 2019 в 21:39
Сергей Коновалов Сергей Коновалов
1,266 4 4 серебряных знака 7 7 бронзовых знаков
Вы не могли бы написать по подробнее о предложенном вами способе?
19 мар 2019 в 22:01
По ходу очередной студент, не способный сделать элементарное дз? Я угадал?
19 мар 2019 в 22:14
id в таблице может не быть. Лучше select 1 from table limit 1
20 мар 2019 в 4:01

Понятие «таблица пуста» эквивалентно понятию «количество записей в таблице равно нулю». Следовательно, выполняем запрос

SELECT COUNT(*) AS recordscount FROM tablename 

и сравниваем полученное значение единственного поля recordscount единственной записи возвращённого набора с нулём.

Не забываем проверить, не возникло ли в процессе выполнения запроса ошибки (таблица может быть удалена, повреждена, заблокирована, соединение с сервером может «развалиться» и т.п.).

Как быстро проверить существование записи в таблице?

Есть две таблицы, таблица A с огромным количеством данных и пустая таблица Б. Задача записать переданные данные в таблицу Б при условии что одно поле, не существует в таблице А. Сейчас сделан перебор и запрос на каждый элемент в цикле SELECT 1 FROM (`А`) WHERE `поле` = ‘123’ LIMIT 1 . Сделал поле `поле` уникальным индексом, убрал получение данных заменив * на 1. Подскажите как еще можно ускорить этот процесс?

  • Вопрос задан более трёх лет назад
  • 231 просмотр

Sql-запрос, проверить на пустоту таблицу

Собственно сабж.
На конструкторе класса создается таблица (if not exists) и должна внестись 1 запись, если таблица пуста. Помогите пожалуйста составить такой запрос: «Если таблица пуста, то внести запись».
Вроде нашел в интернете вариант через SELECT, но не работает.

mrlasking
$_GET[‘rich’] or die(‘trying’);

Регистрация 22.05.2012 Сообщения 323

Проверка на пустоту:

$res = mysql_query ("SELECT * FROM `table`"); if (mysql_num_rows ($res) == 0) < echo 'Пусто'; >else
Volly
Well-Known Member

Регистрация 21.03.2012 Сообщения 828
А если так $res = mysql_query («SELECT count(*) FROM `table`»);

CamaroSS
Well-Known Member

Регистрация 21.02.2012 Сообщения 176
Если это для таблицы с потенциально только одной записью, то можно как угодно, иначе
$res = mysql_query («SELECT count(*) FROM `table`»)
Этому будут рады большие InnoDB
$res = mysql_query («SELECT * FROM `table`»);

А этому будут рады все. У нас была такая страничка с поиском, которая «плохо работала». Оказалось, что именно таким способом каждый раз выбиралось все ~15K рядов. А потом ещё фетчились и проверялись по условию

Если рядов много, то можно сделать

SELECT IF(NOT EXISTS(SELECT 1 FROM `table` WHERE 1=1),1,0) AS `empty`

Насчёт поддержки версий не в курсе, вроде везде всё ок.

Насчёт того, чтоб сделать одним запросом, идей нет, кроме как назначить первичный/уникальный ключ и подавать на него одно и то же значение, вставляя запись через INSERT IGNORE.

Как проверить пустая ли таблица sql

Подскажите,как реализовать такое: если таблица БД Учет пустая,то выводим сообщение,а если не пустая,то выводим другое сообщение. Бьюсь целый день и не получается программно это реализовать!

Регистрация: 09.01.2008
Сообщений: 26,238
выполните запрос вида

select count(*) from [Учет]

если вернёт ноль записей — значит, таблица пустая.

Serge_Bliznykov
Посмотреть профиль
Найти ещё сообщения от Serge_Bliznykov

Регистрация: 17.11.2010
Сообщений: 19,042
А на пустоту ли? Может на наличие записи с Код = 1 AND (Дата IS NULL) ?

Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Пользователь
Регистрация: 06.01.2016
Сообщений: 18
Сообщение от Аватар
А на пустоту ли? Может на наличие записи с Код = 1 AND (Дата IS NULL) ?

Это я выполняю определенное условие при нажатии на кнопку,т.е. если бд пустая,то не выполняю и вывожу сообщение: «БД пустая»,а если есть,то выполняю. Но вот как это реализовать программно,не могу понять.

Регистрация: 17.11.2010
Сообщений: 19,042

Так все таки пустая или отсутствие записи по некоторому условию? Пустая — это вообще ни каких записей, что в #2 и предложено проверять. А это ли нужно проверять?

Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *