Qt清空表数据并重置自增列(sqlite+mysql)

void DBHelper::clearData(const QString &tableName)
{
    QString sql;
    QSqlQuery query;
    if (App::LocalDBType.toUpper() == "SQLITE") {
        //SQLite数据库自增列信息存储在 sqlite_sequence 表,表包含两个列:name记录自增列所在的表,seq记录当前序号
        sql = QString("delete from %1").arg(tableName);
        query.clear();
        query.exec(sql);

        sql = QString("delete from sqlite_sequence where name='%1'").arg(tableName);
        query.clear();
        query.exec(sql);
    } else if (App::LocalDBType.toUpper() == "MYSQL") {
        //重置自增主键,用 truncate table table_name 效率高,而不是 alter table table_name auto_increment = 1
        sql = QString("truncate table %1").arg(tableName);
        query.clear();
        query.exec(sql);
    }
}

公众号:Qt实战,各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发。

公众号:Qt入门和进阶,专门介绍Qt/C++相关知识点学习,帮助Qt开发者更好的深入学习Qt。多位Qt元婴期大神,一步步带你从入门到进阶,走上财务自由之路。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值