一个列创建为全局惟一标识符,且用newid()生成数值,有必要再加惟一约束吗?
按理说,全局惟一标识符,一定不会重复的呀,为何联机帮助中却这样写呢?以下红字为联机帮助拷来的:
由于 ROWGUIDCOL 属性不强制唯一性,所以应使用 UNIQUE 约束以确保插入 ROWGUIDCOL 列的值是唯一的。我想问,为何还要加惟一性约束呢?

解决方案 »

  1.   

    不是吧,全局标识符是可以修改的呀。
    好象自增列是不能修改的,但是全局惟一标识符却可以手动修改。
    所以有必要加上惟一约束。
    不明白,为何全局惟一标识符可以修改,newid()函数只是提供一个生成功能。
      

  2.   

    第一次 newid() 生产的时候值是绝对不会重复的,但是如果在手工在值中修改的话那就可能重复了,所以如果要保证唯一的话还是要加上UNIQUE 约束