Какой запрос можно использовать для получения подробной информации об индексах любой таблицы? - PullRequest
0 голосов
/ 02 апреля 2010

Какой запрос можно использовать для получения сведений об индексах любой таблицы? Мне нужно это, чтобы узнать primarykey / autoincremented значение любой таблицы .. Пожалуйста, помогите / Руководство меня ...

Ответы [ 2 ]

2 голосов
/ 02 апреля 2010

Вы можете использовать

show indexes from your_table;

Для получения дополнительной информации: 12.4.5.23. ПОКАЗАТЬ ИНДЕКС Синтаксис


В качестве быстрой демонстрации (на не совсем оптимизированном столе) :

mysql> show indexes from post;
+-------+------------+-----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name        | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------+------------+-----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| post  |          0 | PRIMARY         |            1 | id          | A         |           7 |     NULL | NULL   |      | BTREE      |         | 
| post  |          1 | id_blog_idx     |            1 | id_blog     | A         |           2 |     NULL | NULL   |      | BTREE      |         | 
| post  |          1 | id_user_idx     |            1 | id_user     | A         |           7 |     NULL | NULL   |      | BTREE      |         | 
| post  |          1 | code_syntax_idx |            1 | code_syntax | A         |           7 |     NULL | NULL   |      | BTREE      |         | 
| post  |          1 | code_status_idx |            1 | code_status | A         |           2 |     NULL | NULL   |      | BTREE      |         | 
| post  |          1 | id_category_idx |            1 | id_category | A         |           7 |     NULL | NULL   |      | BTREE      |         | 
+-------+------------+-----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
6 rows in set (0,00 sec)


Обратите внимание, что при этом будут отображаться индексы, а auto_increment не имеет ничего общего с индексами.

Если вы хотите увидеть auto_increment вашего стола, вы можете использовать desc:

desc your_table;

Для получения дополнительной информации: 12.8.1. ОПИСАТЬ синтаксис


И, например, с той же таблицей:

mysql> desc post;
+--------------------+------------------+------+-----+---------+----------------+
| Field              | Type             | Null | Key | Default | Extra          |
+--------------------+------------------+------+-----+---------+----------------+
| id                 | int(10) unsigned | NO   | PRI | NULL    | auto_increment | 
| id_blog            | int(10) unsigned | NO   | MUL | NULL    |                | 
| id_user            | int(10) unsigned | NO   | MUL | NULL    |                | 
...
...
| nb_comments        | smallint(6)      | NO   |     | 0       |                | 
+--------------------+------------------+------+-----+---------+----------------+
17 rows in set (0,05 sec)
1 голос
/ 02 апреля 2010

Кроме того, альтернативный способ (который также показывает текущее значение счетчика AUTO_INCREMENT):

=> SHOW CREATE TABLE activations;

Уступая

CREATE TABLE `activations` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=104974 DEFAULT CHARSET=utf8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...