我使用SQL Server 2017 Management Studio,我尝试创建加密列(总是加密任务),我收到错误
标识列必须是数据类型int,bigint,smallint,tinyint,decimal或numeric,其标度为0,未加密,并且约束为不可为空。
我的表是:
create table testDB.dbo.Login
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Username varchar(20) NOT NULL UNIQUE,
Password varchar(128) NOT NULL,
Email varchar(100) Not Null UNIQUE
);
create table testDB.dbo.Admin
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Admin INT NOT NULL FOREIGN KEY REFERENCES testDB.dbo.Login(ID)
);
我该如何解决这个问题?
答案 0 :(得分:0)
对于格式标识密钥,请尝试:
" padded_id"是我在计算列示例中使用的名称。
create table table
(
id int IDENTITY(1,1) NOT NULL,
padded_id AS (right('0000000000' + CONVERT(varchar(10),id),10)) PERSISTED
NOT NULL,
other columns....
)