【发布时间】:2014-01-23 00:29:12
【问题描述】:
我正在为我的数据库使用 MySQL 5.1,并通过 Java 程序 (JBDC) 发送命令。 是否有用于创建或更改表的 MySQL 命令? 假设我有一个下表:
+----------+----------+
| column_a | column_b |
+----------+----------+
| value_a | value_b |
+----------+----------+
现在我想使用一个命令,如果它不存在,它将添加一个列“column_c”。 这将导致:
+----------+----------+----------+
| column_a | column_b | column_c |
+----------+----------+----------+
| value_a | value_b | |
+----------+----------+----------+
如果表不存在,它将创建一个具有指定列的新表:
+----------+----------+----------+
| column_a | column_b | column_c |
+----------+----------+----------+
最后,如果表中的列没有在命令中指定,它会让它们保持不变。
【问题讨论】:
-
据我所知没有
ALTER TABLE IF,也许你应该看看像“liquibase”或“flyway”这样的工具 -
我不认为只需要一个命令就需要使用这些程序,@RC.. 没有其他办法吗?
-
检查数据库元数据并在需要时创建列
-
看来这是唯一的方法,@RC.. 会尝试。