我正在使用 Odbc 连接到 mysql 服务器,想知道如何检查我的数据库中是否存在表,如果不存在,则创建它。
最佳答案
使用CREATE TABLE IF NOT EXISTS
.
更新
郑重声明,并非所有 RDBMS 都支持 CREATE ... IF NOT EXISTS
。 MySQL 可以,但对于那些正在寻找更便携的解决方案的人来说,要知道您有多种(效率较低但功能强大的)方法来实现同一件事:
- 无条件发出
CREATE TABLE
;如果表已经存在,该语句将失败,在这种情况下,只需吞下错误并继续 SELECT
来自 ANSIinformation_schema
中的tables
对象查看给定的表是否已经存在(正如@Derek
最初建议的那样——请参阅@lexu
's answer 了解实际查询);根据结果,发出CREATE TABLE
- 或者不发出(访问information_schema.tables
时注意表名区分大小写等问题,您的表出现的可能性在多个模式等中)
关于c# - 检查表是否存在,如果不存在,则创建它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2634847/