找回密码
 立即注册
收起左侧

QT中mysql与命令行的数据不统一?

1
回复
1293
查看
[复制链接]
累计签到:2 天
连续签到:2 天
来源: 2022-12-24 09:06:00 显示全部楼层 |阅读模式
1Qter豆
本帖最后由 liyancao001 于 2022-12-24 09:12 编辑

我使用qt连接mysql后新建的表,用命令行却查询不出来,用mysql workbench也查询不到,命令行和mysql workbench的信息是同步的。什么原因呢?
qt创建表的过程:

    qDebug() << QSqlDatabase::drivers() ;
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");    //db.setHostName("127.0.0.1");  //连接本地主机    db.setHostName("localhost");  //连接本地主机    db.setPort(3306);    db.setDatabaseName("test");    db.setUserName("root");    db.setPassword("123456");
    bool ok = db.open();   if (ok){       QMessageBox::information(this, "infor", "link success");    }    else {       QMessageBox::information(this, "infor", "link failed");       qDebug()<<"error open database because"<<db.lastError().text();   }
    //创建表     QSqlQuery query(db);    //QSqlQuery query;      ok = query.exec("create table student(id int primary key auto_increment, "                    "name varchar(255), age int, score int)ENGINE=INNODB;");      if (!ok){         qDebug()<< "create table" << query.lastError();     }

结果是没报错的,后面还有插入数据的代码,也是正常的。但是用命令行查询却查不到名字为student的表:
mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| table1         |
+----------------+
1 row in set (0.01 sec)

命令行跟mysqlworkbench信息是同步的
图片放不上,提示不合法。。

回复

使用道具 举报

累计签到:2 天
连续签到:2 天
2022-12-24 10:48:18 显示全部楼层
结果比较低级,后面把表给删除了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了