postgresql 如何检测tableview是否已更改

bxgwgixi  于 2022-11-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(163)

我有以下想法:用户可以编辑数据库,当他按退出数据库时,系统将询问他是否要保存编辑过的数据库,或者如果他编辑了某个内容,然后将其返回,则不会询问他。
我想我应该比较创建的数据库和编辑后的数据库时,用户按退出,但不知道如何。
这是我创建数据库的代码

model = new QSqlRelationalTableModel(this, *db);
    model->setTable("cv");
    model->setFilter("cv_id = "+currentCV+"");
    model->removeColumns(0,1);
    model->select();
    ui->tableView->show();
    ui->tableView->setModel(model);
nkhmeac6

nkhmeac61#

你有两个选择。
1.在数据库中创建事件触发器。事件触发器在用户更改数据库表结构、创建表或更改列时工作。因此,这些触发器在用户执行任何DDL命令(更改表、添加列、创建索引、删除表等)时工作。您可以使用事件触发器将这些命令插入日志表。
1.您的数据库结构(所有表、列、索引等)都存储在information_shema中。您可以选择这些表中的数据并将其保存到某个位置,然后将其与已更改的数据进行比较。

相关问题