如何插入包含下划线并且也是外键的字段
如何将包含下划线的数据插入到外键字段中? 例如这工作:
INSERT INTO [childTable] (1, 'ABC')
但是这不起作用:
INSERT INTO [childTable] (1, '_ABC')
因为它得到这个错误:
"The INSERT statement conflicted with the FOREIGN KEY constraint "FK_childTable_parentTable". The conflict occurred in database "X", table "parentTable", column 'SomeField'".
我们有两个外键相关的表:
CREATE TABLE parentTable (
Id int,
SomeField [char] (4)
)
CREATE TABLE childTable (
SomeField [char] (4)
)
ALTER TABLE childTable CONSTRAINT FK_childTable_parentTable
FOREIGN KEY SomeField
REFERENCES parentTable (SomeField)
并且parentTable肯定包含带有'_ABC'数据的记录。
如果我暂时删除或禁用外键约束,我可以插入记录OK并恢复外键OK,但是有没有办法转义下划线或其他更好的解决方案?
环境:针对Microsoft SQL Server 2008 R2服务器和数据库的SQL Server Management Studio,其排序顺序设置为Latin1_General_BIN。
简单地说 - 如果你得到与你的父表中存在的外键错误ABC冲突,并且_ABC不存在。 它与下划线无关。
检查_ABC是否存在于父表中。 如果它没有添加它 - 那么你插入你的子表将会正常工作。
链接地址: http://www.djcxy.com/p/76309.html上一篇: How to INSERT a field that contains an underscore and is also a foreign key