c++ - 无法检查 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"
。但是为什么会这样呢?
解决方案
试试这一行:
query.exec("CREATE TABLE " + table_name + " (ID BIGINT, PRIMARY KEY (ID));");
推荐阅读
- ruby-on-rails - Ruby on Rails 使用 ajax 渲染对象
- rust - 加入 &str 的迭代器
- android - 这是实施 Firebase Analytics 的正确有效方法吗?
- python - 如何将一列整数附加到numpy中的二维浮点矩阵?
- c# - 如何在 C# asp.net 查询中删除表中的重复行
- javascript - 使用 window.addEventListener 添加/删除新的事件监听器是否昂贵?
- javascript - 表单中元素的背景框可见且烦人
- python - 缺少 Python 递归的基本情况
- javascript - Json 对象解析(可能很快)
- node.js - 使用 node.js 中的 sftp 将流发送到远程文件路径时正在上传空文件