将字符值插入SQL表
我创建了一个SQL表,并对其强制执行检查约束,但现在当我尝试插入数据时,会收到一条错误消息将字符值插入SQL表,sql,insert,char,Sql,Insert,Char,我创建了一个SQL表,并对其强制执行检查约束,但现在当我尝试插入数据时,会收到一条错误消息 create table BranchTel ( BrRegNo varchar(10) REFERENCES Branch(BrRegNo), TelNo char(12) PRIMARY KEY(BrRegNo) ) ALTER TABLE BranchTel Add Constraint BranchTelTelNo Check(TelNo LIKE '[0-9][0-9]
create table BranchTel
(
BrRegNo varchar(10) REFERENCES Branch(BrRegNo),
TelNo char(12)
PRIMARY KEY(BrRegNo)
)
ALTER TABLE BranchTel Add Constraint BranchTelTelNo
Check(TelNo LIKE '[0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
插入语句
insert into BranchTel values('BG-205','940112571963')
错误消息
INSERT语句与CHECK约束“BranchTelTelNo”冲突。冲突发生在数据库“StudentDetails”、表“dbo.BranchTel”、列“TelNo”中。
声明已终止。
插入语句
插入BranchTel值('BG-205'、'94-011-2571963')
错误消息
字符串或二进制数据将被截断。
声明已终止
请帮帮我
Insert statement insert into BranchTel values('BG-205','94-011-2571963') Error message String or binary data would be truncated. The statement has been terminated.
此处的值
94-011-2571963
长度大于12,这显然违反了检查约束。您的检查约束为14个字符长(您还需要计算-
),而字段大小为12
此外,940112571963
不符合您在检查约束中定义的模式xx-xxx-xxxxxxx
您需要将字段大小更改为14,并在插入时确保破折号位于正确的位置:
insert into BranchTel values('BG-205','94-011-2571963')
它也算数吗。我也尝试过用插入10位数字,但如果我们在语句中插入,或者只写数字,它仍然无法插入