ALTER TABLE ADD
Попытаюсь максимально объяснить так как на прошлом форуме ответа я не дождался.
В чем суть, есть движок у которого есть встроенный маркет где можно купить модуль или загрузить бесплатно. Так вот у многих модулях есть SQL запрос который может создать таблицу или обновить в MYSQL. С созданием нет проблем, но есть проблема когда нужна к таблицы например table добавить пару ячеек например d1 и d2. Пример: $db->query('ALTER TABLE `table` ADD d1 varchar(200)'); С первым разом все идет глатко не каких проблем, но что если пользователь установит повторно модуль. Мне сейчас нужен какой та метод который бы проверял ячейки d1 и d2 на существования и пропускал если уже существуют во избежания ошибок. Пока не знаю как сделать правильно, сделать через SQL запрос или нужно делать методом php. Через SQL я имею введу запрос который я приблизительно нашол. if exists Но не знаю как с ним работать и как правильно написать. Пожалуйста не направлять на поис или на манулы, я там уже был и не чего не нашол. Пожалуйста покажите как правильно это сделать или объясните по подробнее с примерами. |
korner, любой запрос, обратившийся к несуществующим полям таблицы, вылетит в ошибку...
Гораздо продуктивнее такие проверки делать серверным языком. |
$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)'); } |
walik
Огромное спасибо тебе!! Неужели есть хоть кто то кто может помочь. |
Часовой пояс GMT +3, время: 20:55. |