首页 > 解决方案 > 无法检查 QT MYSQL 中是否存在表

问题描述

我正在尝试检查 QT 框架内的 QMYSQL 模式中是否存在表。我已经连接了 MySQL 服务器,它可以创建一个表,但不检查表是否存在。

这是检查表是否存在的代码

query.exec("CREATE TABLE " + table_name + "(ID BIGINT PRIMARY KEY)");
QStringList tables = this->qSqlDatabase.tables();
qDebug() << "Table name: " + table_name;
for(int i = 0; i < tables.length(); i++)
    qDebug() << tables[i];
qDebug() << tables.length();
if(tables.contains(table_name))

if 语句不运行,输出为:

"Table name: table0"
 0

在这种情况下table_name = "table0"。但是为什么会这样呢?

标签: c++mysqlqtqtsql

解决方案


试试这一行:

query.exec("CREATE TABLE " + table_name + " (ID BIGINT, PRIMARY KEY (ID));");

推荐阅读