数据库设计,数据创建人有可能是用户,也有可能是管理员怎么设计最好?
比如编辑可以从管理后台发布文章,用户也可以从前台发布文章,除了拆分成两个字段比如 user_id、admin_id 之外还有什么好办法?
我想过用一个有符号位 user_id 来储存,正数是用户,负数是后台用户,但是这会导致两个问题:
1、无符号位用户 ID 可能过大,超过这个有符号位 user_id 最大值,除非用户表 id 用 int,这个文章表 user_id 用 bigint。
2、比如显示文章列表时,要关联显示发布人信息,如果放在一个字段,正数查 user 表,负数查 admin_user 表,实现比较麻烦。
有无老哥有更佳方案。
AI 给的三个方案是加个 role 字段区分;user_id,admin_id 两个字段区分;查询时拆开查询;基本等于没说
推荐文章: