关于qt5数据库连接错误的问题

main函数中的代码如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("fyk.db");

bool op = db.open();
qDebug() << db.tables();
QSqlQuery query;


bool success = query.exec("CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(20)");
if (success)
{
    qDebug() << QObject::tr("success");
} 
else
{
    qDebug() << QObject:: tr("fail");
    qDebug() << query.lastError().type();
    QMessageBox::critical(0, QObject::tr("Database Error"),
        query.lastError().text());
}

运行后提示的错误是table student already exists unable to execute statement,本人刚接触qt,困扰了很久,求大神解答

第一次运行时,student表已创建。此后再运行,会报sql错误,因为不可能再创建一个同名的表。可以使用 if not exists 来解决