【发布时间】:2011-09-03 12:47:21
【问题描述】:
我正在尝试仅在 SQL 表不存在时动态创建它。我在互联网上看到了很多解决方案,但它们通常依赖于特定的数据库,而我正在尝试找到最通用的解决方案。
我一直在考虑始终运行 CREATE 命令,然后假设如果它失败则表存在并且我可以开始向其中插入数据。我看不出这种推理有任何缺陷(不包括性能问题),但我可能错了。
这是一种可接受的方法吗?
您能否推荐其他独立于数据库或使用所有 RDBMS 都接受的 ANSI SQL 的方法?
【问题讨论】:
-
尝试失败可能是真正便携的最安全的选择。但是,如果表已经存在,它假定所有数据库都会产生失败错误条件。我想不出任何不会的数据库,但你永远不知道......
-
@Alireza 我只需要编写一个创建和插入查询,我不想创建一个包含很多案例的整个数据库类。