繁体   English   中英

仅使用素数自动生成主键的值

[英]Auto-generated value for primary key using prime numbers only

我想用素数为主键生成一个自动生成的值。

例如,我有这个表,其中id是主键:

标签表:

   id | name
    ---------
    2  | some_text
    3  | some_text
    5  | some_text
    ...
    997| some_text

当插入新行时,它将获得id的下一个质数。

没有办法在 mysql 或任何其他 RDBMS 中实现这一点? 如果是这样怎么办?

我最近回答了一个关于如何在插入期间更改值的问题。 关键是使用触发器 由于您已标记mysql因此使用此链接

您不能按照设计仅使用质数使其自动递增。 你必须自己创造价值。

执行此操作的示例方法是:

Create Table PrimeNumberId (
  NormalId int,
  PrimeId int,
  Name varchar(100) null
 );

CREATE TRIGGER inc_prime_id 
BEFORE INSERT ON PrimeNumberId
FOR EACH ROW
# You have to add your logic here to get next Prime Number, then set it like:
set New.PrimeId = #Number#;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM