欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

电子商务系统中 order表中的 order_id 和order_sn的区别

程序员文章站 2022-04-25 19:13:58
...
order_id 是ID主键
order_sn是订单编号
从我们代码实现上来说 有order_id 就够了 那order_sn存在的意义是啥?
为了前台展示订单信息的时候用? 不展示订单id安全点?
order_sn 的内容问题,有的是时间加自增长位 还有就是规定一串数字加自增长位
对了 我们现在系统的order给order_sn加了索引

回复内容:

order_id 是ID主键
order_sn是订单编号
从我们代码实现上来说 有order_id 就够了 那order_sn存在的意义是啥?
为了前台展示订单信息的时候用? 不展示订单id安全点?
order_sn 的内容问题,有的是时间加自增长位 还有就是规定一串数字加自增长位
对了 我们现在系统的order给order_sn加了索引

如LS所说,所以id是自增的话,这个是不适合暴露出来的
同时,后期扩展的话,可能会多台数据库,这个id可能都会出现重复的,

sn一般是自己的逻辑运算出来的,所以不会出现这个问题

你会对外暴露你们的自增的order_id吗?公司内部机密的东西

没什么区别,一种自认为安全的处理而已,就像user有id和username,两者除了外观不同外实际上是等价的。非要说区别的话就是一个是顺序的,另一个是无序的,所以有的人认为无序的更安全。

order_id是自增长;order_sn俗称订单号,订单表里唯一值;

一般作用:

  • 在暴露情况,订单号会比订单id更适合展示给用户,相比而言也会更直观好记

  • 安全考虑。订单号会比订单id相对更安全,毕竟id是自增长,有规律

  • 报表:一般财务,运营,在做统计的时候,订单号会更利于统计

  • 后期数据维护及转移,当牵涉多个表关联的时候,订单号毕竟唯一;订单id自增长,如后期转移数据,id可能会因此变化。但订单号不变化

订单id是给外部用的,有规律的id会暴漏一些机密信息。如一天的订单量,别人的订单号等。你总不想你的成交量被人直接看到吧?id是主键,自增长,是给数据库用的。

相关标签: php