изменить таблицу, если поля еще не существуют - PullRequest
0 голосов
/ 29 декабря 2011

изменить таблицу, если поле еще не существует

ALTER TABLE `table`
 ADD( `abc` text NOT NULL,
  `xyz` tinyint(1) NOT NULL,
  );

если поля abc или xyz уже существуют, таблица не может быть изменена

если это возможно?

Ответы [ 2 ]

2 голосов
/ 29 декабря 2011

Вы можете заранее использовать 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)
1 голос
/ 29 декабря 2011

Я пока не могу комментировать, поэтому я публикую ответ: попробуйте эту ссылку для подробного примера. Он запрашивает у таблицы information_schema.COLUMNS информацию о столбцах таблиц базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...