【问题标题】:How do I create new column with random value( random 6 numeric unique - as serials key) into mysql?如何在 mysql 中创建具有随机值(随机 6 个数字唯一 - 作为序列键)的新列?
【发布时间】:2014-04-11 02:05:06
【问题描述】:

我在 MySQL 数据库中有一个包含 8 列的表。我想创建一个新列。此列将自动插入一个随机的 6 位数值。每个新条目都将创建一个唯一值(从 000000 到 999999)。

这可能吗?

【问题讨论】:

  • @user1844933 在这种情况下,触发器将不起作用,因为 MySQL 触发器无法更新调用它的同一个表(否则可能会出现无限循环)。这个任务最好在应用程序代码中完成。
  • 抱歉,因为我是 MySQL 新手。它与 ạuto 增量相同,但它应该是 6 个带有随机值的数字。
  • 据我所知,在 MySQL 方面是不可能做到的。但是,您可以在应用程序代码中轻松完成。
  • PHP 代码或 SQL 查询?我正在为此寻找解决方案。谢谢!
  • 它们必须按特定顺序排列,或者您需要它们随机排列?

标签: php mysql database


【解决方案1】:

我认为应该做的工作是:

  • 创建一个处理随机数据插入和检查的程序 如果值存在。 生成随机数

    选择楼层(10000 + RAND() * 999999) 作为随机数;

  • 创建一个触发器,每次插入时都会调用这个过程 完成!

    在 your_table 上插入后创建触发器 bla_bla
    每行开始
    调用 proc();
    结束;//

【讨论】:

  • 谢谢@Up_One,我很抱歉,因为我是 MySQL 新手。我不确定你的教程。所以我将通过这个查询“CREATE TRIGGER bla_bla AFTER INSERT ON your_table”创建新的列,并使用触发器随机插入值?这是自动(创建新记录)吗?我可以手动创建新列并使用您的查询插入值?谢谢!
猜你喜欢
  • 2010-11-19
  • 2019-04-30
  • 1970-01-01
  • 2018-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 1970-01-01
相关资源
最近更新 更多