分享
三行代码  ›  专栏  ›  技术社区  ›  Veronica

INSERT INTO with Rand()函数引发错误

  •  0
  • Veronica  · 技术社区  · 7 月前

    我有一张桌子, Benefit

    INSERT INTO Benefit([Company Name], [Policy #]) 
    VALUES ('Assumption Life', RAND(100) * 100)
    
    INSERT INTO Benefit([Company Name], [Policy #]) 
    VALUES ('Aviva Canada', RAND(1) * 12)
    
    INSERT INTO Benefit([Company Name], [Policy #]) 
    VALUES ('Blue Cross' RAND(100) * 100)
    
    INSERT INTO Benefit([Company Name], [Policy #]) 
    VALUES ('Health & Dental Insurance' RAND(100) * 100)
    

    我得到的答复是:

    Started executing query at Line 123
    (1 row affected)
    (1 row affected)
    


    违反唯一键约束“UQ\u Benefit\uu 2e118e21cdeb4e7”。无法在对象“dbo.Benefit”中插入重复键。重复的键值是(71)。


    违反唯一键约束“UQ\u Benefit\uu 2e118e21cdeb4e7”。无法在对象“dbo.Benefit”中插入重复键。重复的键值是(71)。

    前两个成功执行为 RAND() 函数有点不同,但从第三个函数抛出一个复制异常,因为它与第一个记录相同。

    我试过了 ,它总是指定0。从第二排,抛出同样的错误。

    兰德()

    1 回复  |  直到 7 月前
        1
  •  1
  •   Dale K    7 月前

    This explains the usage of RAND

    利益声明是“ "

    要在两个值(范围)之间创建随机十进制数,可以使用以下公式:

    SELECT RAND()*(b-a)+a;