下面的这条SQL语句如何插入,一行对应一个字段,我的问题就是如何把 违反了 PRIMARY KEY 约束 'PK_POLOAD'。不能在对象 'POLOAD' 中插入重复键。语句已终止。作为一个字段内容插入,因为中间有'号,而且字符的长度不确定
insert into POProblem
values
(
'6043266',
'0001',
'违反了 PRIMARY KEY 约束 'PK_POLOAD'。不能在对象 'POLOAD' 中插入重复键。语句已终止。',
'H0008'
)
提示:'PK_POLOAD' 附近有语法错误。
insert into POProblem
values
(
'6043266',
'0001',
'违反了 PRIMARY KEY 约束 'PK_POLOAD'。不能在对象 'POLOAD' 中插入重复键。语句已终止。',
'H0008'
)
提示:'PK_POLOAD' 附近有语法错误。
--将表POProblem 第三个字段设为nvarchar(max)
insert into POProblem
values
(
'6043266',
'0001',
'违反了 PRIMARY KEY 约束 ''PK_POLOAD''。不能在对象 ''POLOAD'' 中插入重复键。语句已终止。',
'H0008'
)
replace('违反了 PRIMARY KEY 约束 'PK_POLOAD'。不能在对象 'POLOAD' 中插入重复键。语句已终止。', '''','''''')
values
(
'6043266',
'0001',
'违反了 PRIMARY KEY 约束 'PK_POLOAD'。不能在对象 'POLOAD' 中插入重复键。语句已终止。',
'H0008'
)
你肯定是用变量存储下面的串,然后拼SQL语句,
假设“违反了 PRIMARY KEY 约束 'PK_POLOAD'。不能在对象 'POLOAD' 中插入重复键。语句已终止。”
存在变量 @error 中
则用前进行替换: set @error = replace(@error,'''','''''')
var str: string;
str:= '违反了 PRIMARY KEY 约束 PK_POLOAD。不能在对象 POLOAD 中插入重复键。语句已终止。'
insert into POProblem(对应的字段)
values
(
''6043266'',
+''0001'',
+str,
+'H0008'
)
2、因为此字符串长度不固定,所以要将该当字符串存储的类型设为不固定,varchar(max)或nvarcahr(max)
values
(
'6043266',
'0001',
'违反了 PRIMARY KEY 约束 '''PK_POLOAD'''。不能在对象 '''POLOAD''' 中插入重复键。语句已终止。',
'H0008'
)
替换红色字的那一行就行了.
alter table POProblem alter column 第三列列名 varchar(1000)
insert into POProblem
values
(
'6043266',
'0001',
'违反了 PRIMARY KEY 约束 ''PK_POLOAD''。不能在对象 ''POLOAD'' 中插入重复键。语句已终止。',
'H0008'
)
select * from POProblem