SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.04.2011 16:45:44

theo_
Участник
Зарегистрирован: 02.04.2011
Сообщений: 2

Как узнать существует ли столбец?

Подскажите, каким образом лучше узнать существует ли таблице столбец?

Неактивен

 

#2 02.04.2011 16:53:34

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Как узнать существует ли столбец?

Есть много способов. Самый прямой:

SELECT count(*) c FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='имя_базы_данных' AND TABLE_NAME='имя_таблицы' AND COLUMN_NAME='имя_столбца';

Еще:
SHOW CREATE TABLE `имя_таблицы`;

DESC `имя_таблицы`

SELECT `имя_столбца` FROM `имя_таблицы` LIMIT 1;

Неактивен

 

#3 02.04.2011 18:26:21

theo_
Участник
Зарегистрирован: 02.04.2011
Сообщений: 2

Re: Как узнать существует ли столбец?

Спасибо большое!

А как эту сроку добавить  в условие:

SELECT `имя_столбца` FROM `имя_таблицы` LIMIT 1;


Сейчас у меня такой код:
IF ( SELECT `Phone` FROM `users` LIMIT 1 )
BEGIN
  ALTER TABLE `users`
  ADD Phone varchar(255);
END


Что нужно поправить?

Неактивен

 

#4 02.04.2011 18:30:33

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Как узнать существует ли столбец?

IF ((SELECT count(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='имя_базы_данных' AND TABLE_NAME='имя_таблицы' AND COLUMN_NAME='имя_столбца')>1)
 

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson