2010-12-06 3 views
0

Я пытаюсь получить список таблиц и их количество строк. Я пользуюсь этим вопросом:Таблицы MySQL и число строк

SELECT TABLE_NAME, TABLE_ROWS 
FROM INFORMATION_SCHEMA WHERE TABLE_SCHEMA = 'myDatabase' 

Я нахожу, что это иногда возвращает null. То, что я хотел бы сделать, это поймать это, вероятно, делать что-то подобное

IFNULL (TABLE_ROWS, SELECT COUNT(*) FROM ????) 

Только я не уверен, что я должен войти в ????
как сделать его динамичным на основе столбца TABLE_NAME ?.

Редактировать: Дополнительная информация: Я обнаружил, что «таблицы» не отображаются на самом деле.

+0

С какой целью? – thejh 2010-12-06 20:00:55

+0

Расширенный ответ для одного шага и точный для таблиц InnoDB: http://stackoverflow.com/questions/24707814/mysql-summarize-all-table-row-counts-in-a-single-query – gwideman 2014-07-11 23:55:39

ответ

2

Мог бы также сделать

SHOW TABLE STATUS FROM YOUR_DATABASE; 

Он всегда возвращает столбец с именем, как Rows, который является количество строк в этой таблице.

0

От the documentation:

Столбец TABLE_ROWS является NULL, если таблица в базе данных information_schema.

Таким образом, вам это не понадобится.

Смежные вопросы