• 2746阅读
  • 1回复

[原创]Qt清空表数据并重置自增列(sqlite+mysql) [复制链接]

上一主题 下一主题
离线liudianwu
 

只看楼主 倒序阅读 楼主  发表于: 2019-04-10
  1. void DBHelper::clearData(const QString &tableName)
  2. {
  3.     QString sql;
  4.     QSqlQuery query;
  5.     if (App::LocalDBType.toUpper() == "SQLITE") {
  6.         //SQLite数据库自增列信息存储在 sqlite_sequence 表,表包含两个列:name记录自增列所在的表,seq记录当前序号
  7.         sql = QString("delete from %1").arg(tableName);
  8.         query.clear();
  9.         query.exec(sql);
  10.         sql = QString("delete from sqlite_sequence where name='%1'").arg(tableName);
  11.         query.clear();
  12.         query.exec(sql);
  13.     } else if (App::LocalDBType.toUpper() == "MYSQL") {
  14.         //重置自增主键,用 truncate table table_name 效率高,而不是 alter table table_name auto_increment = 1
  15.         sql = QString("truncate table %1").arg(tableName);
  16.         query.clear();
  17.         query.exec(sql);
  18.     }
  19. }


欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
在线liulin188

只看该作者 1楼 发表于: 2019-04-10
用原始api的飘过~~~
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
快速回复
限100 字节
 
上一个 下一个