数据表里 id (单库,自增数字)和 name(长度 10 个以内的英文字符串)是唯一的。
后端不返回 id ,接口都让前端用 name 字符串获取数据,
不是为了防采集。就是觉得很少见到用可读的字符串作为查询的条件,想问一下这样做会有什么问题吗?
Supplement 1 Jul 12, 2023
总和来看,目前的结论是可以的。
只要 name 有 unique 约束
自增 id 主要是为了提高一点点的性能。内部关系可以用 id 关联。
但返回的数据和查询条件都只能通过 name ,要问为啥的话,可能只是因为 1.我这个案例比较特殊 name 确实不会重复而且是可读的 2.如果用可读的字符串来查,不知道怎么说,可能更自然吧,个人喜好。3.既然可以用 name 查,就没必要用 id 查了,防止出现查询条件不统一的情况。4.如果我把 api 公开,我希望精简易懂。没有多余的字段,如果 name 可以替代 id ,那么 id 是多余的。
只要 name 有 unique 约束
自增 id 主要是为了提高一点点的性能。内部关系可以用 id 关联。
但返回的数据和查询条件都只能通过 name ,要问为啥的话,可能只是因为 1.我这个案例比较特殊 name 确实不会重复而且是可读的 2.如果用可读的字符串来查,不知道怎么说,可能更自然吧,个人喜好。3.既然可以用 name 查,就没必要用 id 查了,防止出现查询条件不统一的情况。4.如果我把 api 公开,我希望精简易懂。没有多余的字段,如果 name 可以替代 id ,那么 id 是多余的。
