изменить таблицу, если поле еще не существует
ALTER TABLE `table` ADD( `abc` text NOT NULL, `xyz` tinyint(1) NOT NULL, );
если поля abc или xyz уже существуют, таблица не может быть изменена
abc
xyz
если это возможно?
Вы можете заранее использовать SHOW COLUMNS и соответственно построить свой запрос, добавив только пропущенные поля.
Пример вывода SHOW COLUMNS:
SHOW COLUMNS
mysql> SHOW COLUMNS FROM City; +------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | char(35) | NO | | | | | Country | char(3) | NO | UNI | | | | District | char(20) | YES | MUL | | | | Population | int(11) | NO | | 0 | | +------------+----------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
Я пока не могу комментировать, поэтому я публикую ответ: попробуйте эту ссылку для подробного примера. Он запрашивает у таблицы information_schema.COLUMNS информацию о столбцах таблиц базы данных.