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

Пользователь

от johnpaul.blick , в категории: SQL , 2 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от lilla.herman , 2 года назад

@johnpaul.blick Вы можете использовать запрос ниже, чтобы проверить существует ли столбец в определенной таблице mysql:


1
2
3
4
5
6
SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name';


Вам нужно подставить Ваши данные db_name, table_name, column_name и если запрос вернет 0 записей - значит столбец не существует и если 1 запись, то столбец существует.

Пользователь

от charles.orn , 2 года назад

@johnpaul.blick 

Чтобы проверить, существует ли столбец в таблице MySQL, можно использовать следующий запрос:

1
2
SELECT * FROM information_schema.columns
WHERE table_name = 'имя_таблицы' AND column_name = 'имя_столбца';


Если столбец существует, то этот запрос вернет информацию о столбце, в противном случае он вернет пустую таблицу. Вы также можете использовать оператор EXISTS в следующем запросе:

1
2
3
4
SELECT EXISTS(
  SELECT 1 FROM information_schema.columns
  WHERE table_name = 'имя_таблицы' AND column_name = 'имя_столбца'
) as column_exists;


В этом случае результатом будет 0 или 1, где 0 указывает, что столбец не существует, а 1 указывает, что столбец существует.


Обратите внимание, что эти запросы используют схему information_schema, которая содержит метаданные о базе данных, в том числе информацию о таблицах и столбцах. Вы можете использовать э