如果字段尚不存在,则更改表

时间:2011-12-29 13:25:28

标签: mysql sql

如果字段尚不存在则更改表格

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

如果abcxyz字段已存在,则不能为alter table

是否可能?

2 个答案:

答案 0 :(得分:2)

您可以事先使用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 :(得分:1)

我还不能评论,所以我发帖回答:试试这个link详细的例子。它查询information_schema.COLUMNS表以获取有关数据库表的列信息。