有一个数据库设计问题,想请教大佬。ABCDE几个表,ABCD
sql吧
全部回复
仅看楼主
level 1
有一个数据库设计问题,想请教大佬。
ABCDE几个表,ABCDE几个表每次update的时候,都不是真的update,要等一个管理员审核,通过了再update,未通过就保持原样,这样的话,是不是应该再设计一个审核表F,每次update都把数据存到这个表里,设计是否审核通过的状态status字段,然后ABCDE几个表创建一个f表的id来关联审核表,审核通过后,再从F表中取出数据来update其他的表?
不过如果这样设计的话,怎么通过F表去找ABCDE中的那条记录呢,如果同时存一个id到F表的话,又如何知道是哪个表的id呢?还是说需要另外一个字段来存表名,通过代码去判断是哪张表?
2020年05月07日 08点05分 1
level 3
你这个其实是动态执行后台语句的思路了,可以这样实现:
1、设计一个单独的表,用于构造SQL语句。
2、多表update的时候就把整个语句拆开,实际是把这条update语句当作新记录存入这个表中,拆开的各个部分包括操作命令,源表以及目的表,条件表达式,提交操作员,上级审核状态等。注意各个字段都要带表名(例如:表名.字段名)
3、这个表上做一个触发器,凡是状态修改通过的,就组装出SQL语句来真正执行。
2020年05月08日 03点05分 2
谢谢,我按这个思路去试试
2020年05月08日 06点05分
1