Зная, существует ли конкретный столбец или нет - PullRequest
0 голосов
/ 28 февраля 2019

Привет, при вводе следующего URL (только для целей обучения) я вижу изображение с id = 1.

Поэтому я попытался найти имена некоторых таблиц внутрибаза данных, и это сработало.Это может определить, существует ли таблица, начинающаяся с 'albu':

http://35.227.24.107:5001/d0510b3060/fetch?id=1 И (ВЫБЕРИТЕ COUNT (*) ИЗ INFORMATION_SCHEMA.TABLES, ГДЕ TABLE_NAME LIKE 'albu%')>0;-

Но как я могу узнать, существует ли определенный столбец, имя которого начинается с 'albu' или нет?Я уже пробовал это, но это не сработало:

http://35.227.24.107:5001/d0510b3060/fetch?id=1 И (ВЫБЕРИТЕ СЧЕТЧИК (*) ИЗ INFORMATION_SCHEMA.TABLES, ГДЕ TABLE_NAME = 'album' 'И ИМЯ_ column_ LIKE' albu%«)> 0;-

Обратите внимание: по моему вопросу я знаю как имя базы данных, так и таблицу.

1 Ответ

0 голосов
/ 01 марта 2019

Как прокомментировал Shadow, вы ищете MySQL INFORMATION_SCHEMA.COLUMNS table :

SELECT COUNT(*) 
FROM information_schema.columns 
WHERE table_name = 'albums' AND column_name LIKE 'albu%'

NB: вы также можете захотеть отфильтровать по TABLE_SCHEMA.Схема и имя таблицы используются для уникальной идентификации таблицы в базе данных.

...