【发布时间】:2018-10-05 13:29:41
【问题描述】:
所以主要目标是在插入之前屏蔽或随机更改 uniqueidentifier 的值。
例如: 我有一张桌子
Create table Student
(
Student_ID masked WITH (FUNCTION='default()') DEFAULT NEWID()
Student_Name varchar(100),
)
我正在插入新数据:
insert into DDM_Student_Sample values ('B9BC5E61-0F3C-498F-AF2C-1AC16446A846','Stuart Little Joe')
结果与插入时的输出相同,即 uniqueidentifier = 'B9BC5E61-0F3C-498F-AF2C-1AC16446A846'
我创建了一个登录用户:
CREATE USER MAIN_USER FOR LOGIN MAIN_USER;
EXEC sp_addrolemember 'db_owner', 'MAIN_USER';
toturial (http://www.sqlservercentral.com/articles/Security/149689/) 说您必须创建用户无需登录。也许这就是Student_ID不会随机变化的问题。
最后,在向表中插入数据之前,也许还有另一种方法可以随机更改它的值。或者我应该从前端改变价值?并写出类似的东西:
model.StudentId = Guid.NewGuid();
model.SaveToDatabase();
【问题讨论】:
-
您知道 GUID 不能保证是唯一的吗?
-
标题说的是SQL Server,但后来使用了
标签。您实际使用的是哪种产品? -
对不起,这是sql server。
标签: c# sql sql-server random mask