检查表是否存在,如果不存在,则创建表

Mat*_*att 5 c# mysql odbc

我正在使用与MySQL服务器的Odbc连接,并想知道如何检查我的数据库中是否存在表,如果不存在,则创建它.

vla*_*adr 8

使用CREATE TABLE IF NOT EXISTS.

UPDATE

为了记录,并非所有RDBMS都支持CREATE ... IF NOT EXISTS.MySQL 确实如此,但对于那些寻求更便携式解决方案的人来说,要知道你有多种(效率较低但功能较强)的方法来实现同样的目标:

  • 无条件的CREATE TABLE; 如果表已经存在,语句将失败,在这种情况下,只需吞下错误并继续
  • SELECTtablesANSI中的对象information_schema查看给定的表是否已经存在(如最初建议的那样@Derek- 参见实际查询@lexu的答案); 根据结果​​,要么是问题CREATE TABLE- 要么不要(当访问时information_schema.tables要注意表名称区分大小写等问题,表格出现在多个模式中的可能性等)