Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2011, 15:02
Интересующийся
Отправить личное сообщение для korner Посмотреть профиль Найти все сообщения от korner
 
Регистрация: 26.06.2010
Сообщений: 29

ALTER TABLE ADD
Попытаюсь максимально объяснить так как на прошлом форуме ответа я не дождался.

В чем суть, есть движок у которого есть встроенный маркет где можно купить модуль или загрузить бесплатно.
Так вот у многих модулях есть SQL запрос который может создать таблицу или обновить в MYSQL.

С созданием нет проблем, но есть проблема когда нужна к таблицы например table добавить пару ячеек например d1 и d2.

Пример:
$db->query('ALTER TABLE `table` ADD d1 varchar(200)');


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

Мне сейчас нужен какой та метод который бы проверял ячейки d1 и d2 на существования и пропускал если уже существуют во избежания ошибок.

Пока не знаю как сделать правильно, сделать через SQL запрос или нужно делать методом php.

Через SQL я имею введу запрос который я приблизительно нашол.

if exists Но не знаю как с ним работать и как правильно написать.

Пожалуйста не направлять на поис или на манулы, я там уже был и не чего не нашол.

Пожалуйста покажите как правильно это сделать или объясните по подробнее с примерами.
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2011, 15:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

korner, любой запрос, обратившийся к несуществующим полям таблицы, вылетит в ошибку...

Гораздо продуктивнее такие проверки делать серверным языком.
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2011, 15:14
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$res = $db->query("select column_name from INFORMATION_SCHEMA.columns where table_name = 'MyTable' and column_name = 'MyColumn'");
if (!$res->num_rows) {
	$db->query('ALTER TABLE `MyTable` ADD MyColumn varchar(200)');
}
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #4 (permalink)  
Старый 13.07.2011, 15:25
Интересующийся
Отправить личное сообщение для korner Посмотреть профиль Найти все сообщения от korner
 
Регистрация: 26.06.2010
Сообщений: 29

walik
Огромное спасибо тебе!! Неужели есть хоть кто то кто может помочь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Div аналогично Table Detex (X)HTML/CSS 6 16.03.2011 10:30
Чем занимаются JS-программеры. JSTalker Оффтопик 69 02.02.2011 10:18
jQuery $().append | Problem with table creation Djumpen Общие вопросы Javascript 14 23.11.2010 20:44
Подсветка выделенной строки в таблице (row table highlight) artsage Элементы интерфейса 4 03.04.2009 06:40
Как "вытащить" div из table linbis Элементы интерфейса 4 27.03.2009 17:57