本帖最后由 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信息是同步的
图片放不上,提示不合法。。
|