我在将外键正确插入表中遇到麻烦。我用这种格式创建了几张桌子:
CREATE TABLE tbl_Example
(
ExampleID INT IDENTITY(1,1),
Example VARCHAR(5) NULL,
Example VARCHAR(6) NULL,
Example VARCHAR(MAX),
Example VARCHAR(MAX),
ExampleFK INT,
Example VARCHAR(MAX),
etc.
)
并按照以下格式将值插入到该表中:
SELECT *
FROM tbl_Example
INSERT INTO tbl_Example (Example, Example, Example, Example, etc.)
VALUES ('data', 'data', 'data', 'data', etc.)
在我的代码末尾放置了此代码,以便向我的原始表添加外键:
ALTER TABLE tbl_Example
ADD FOREIGN KEY (ExampleFK) REFERENCES tbl_Example1 (Example1ID)
由于某种原因,在执行后,外键列完全用NULL填充。我尝试调整外键列的位置,并使用了多种语法形式来创建外键并更正问题,但没有任何效果。密钥和连接似乎已经建立,只是由于某种原因未正确显示在我的表中。
编辑:值不应为NULL。 Example1ID
没有NULL值。
答案 0 :(得分:0)
具有NULLS的原因是将外键添加到tbl_Example引用的示例中 tbl_Example1(Example1ID)
所以这不是一对一的关系,这意味着tbl_Example1 PK不会自动填充
这意味着任何tbl_Example1 PK都可以作为FK填充到tbl_Example中 您需要通过应用程序或数据库以其他方式强制执行此操作
答案 1 :(得分:0)
您是否认为“ ADD FOREIGN KEY”会插入值?它只是创建约束。您现在必须更新行。