qt清空数据库表数据保留表结构的一种方法

来源:互联网 发布:历年进出口数据查询 编辑:程序博客网 时间:2024/06/08 19:01

查阅了一些资料,很多人的意见是备份一个只包含数据库表结构的backup文件,然后删掉数据库,然后恢复。
正在我的实践中是有点问题的,因为使用数据库的人不止我一个,人家数据库不让我删除。而且我执行的时候出了很多我一时解决不了的错误(这才是原因),所以我智能找点别的办法,稍微记录下。
我是用的是postgre数据库,其他的应该差不多的。
方法就是找到你库里的所以表,然后级联删除表的内容(级联删除,级联删除,级联删除)。再附上几行代码:

QString sqlStr= "select tablename from pg_tables where schemaname='public' ;//少个引号,加上编辑有点问题QSqlQuery query(sqlStr,connectDB(dbName));QList<QString> databaseNameList;while(query.next()){    databaseNameList.push_back(query.value(0).toString());}for(int i=0;i<databaseNameList.size();i++){    QString truncateSql="truncate table "+databaseNameList.at(i)+" CASCADE";}

关于truncate命令可以参考文章这里写链接内容

0 0
原创粉丝点击