Как узнать, является ли столбец auto_increment в MySQL - PullRequest
0 голосов
/ 12 марта 2020

Я хочу проверить, есть ли в таблице столбец автоинкремента

Я видел:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'magazine' AND COLUMN_NAME = 'id' AND EXTRA like '%auto_increment%'

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

Можно ли напрямую опросить таблицу и столбец, чтобы выяснить, установлено ли для нее автоматическое увеличение?

Кажется, что в каждом сообщении используется схема, но я не могу этого сделать.

Есть идеи?

1 Ответ

1 голос
/ 12 марта 2020

Используйте SHOW COLUMNS и проверьте столбец extra в ответе.

SHOW COLUMNS FROM magazine;

Ответ может выглядеть примерно так:

| id | int (11) | НЕТ | PRI | NULL | auto_increment |

| Eventkey | Варчар (27) | НЕТ | MUL | NULL |

Вы также можете выполнить запрос и ограничить ответ только теми столбцами, которые ДОЛЖНЫ иметь автоинкремент.

SHOW COLUMNS FROM magazine WHERE extra LIKE '%auto%';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...