【发布时间】:2021-08-12 13:30:46
【问题描述】:
我正在尝试检查 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"。但是为什么会这样呢?
【问题讨论】:
-
query.exec(...) 返回真还是假?
-
最后一个错误是什么? doc.qt.io/qt-5/qsqldatabase.html#lastError
-
@V.K.它返回错误。
-
@MrYui 所以很明显问题出在第一行。现在检查最后一个错误。