【问题标题】:mysql automatic random default integer valuemysql自动随机默认整数值
【发布时间】:2013-06-29 22:01:51
【问题描述】:

我知道 auto_increment 会自动为您插入表中的每个新行分配一个主键值。是否有某种默认值可以分配一个整数主键,每次新插入都会产生一个随机数? DEFAULT_VALUE = FLOOR(RAND() * (1000000-1)) 之类的东西?我知道这可能是一个非常平庸和愚蠢的问题,但我会提前感谢任何帮助!谢谢!

【问题讨论】:

  • 这样做的原因通常是这样的......“我们是一家文具公司。每次客户从我们这里购买东西时,我们都会创建一个带有递增 ID 的发票。不幸的是,这意味着“我们的竞争对手可以通过每小时左右从我们这里购买非常便宜的商品来了解我们的表现。我们如何保护自己免受这种情况的影响?”我在正确的轨道上吗?

标签: mysql random integer default


【解决方案1】:

为什么不直接使用UUID

或者,为什么不让id 做它的事情,AUTO_INCREMENT 样式,并创建一个随机生成并索引UNIQUE 的辅助列,以便它用作辅助主列?

【讨论】:

  • 我还在学习更多关于 MySQL 的知识。感谢您提供有关使用第二个主键的建议。我不知道它通常是如何使用的。
  • 您通常在内部使用id 来关联数据,并使用某种表示键进行显示。这可能是一个 slug、一个 UUID、一个随机数、像“Bill#932”这样的序列号,或者您的应用程序需要的任何东西。
  • 我确实找到了一种自动生成数字的方法,这样我就不必在请求本身中生成 UUID。我用了触发功能
猜你喜欢
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
  • 2019-07-05
  • 2014-09-17
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多