2013-11-20 3 views
5

나는 다음과 같은 코드가 있습니다외래 키 참조가 유효하지 않은 테이블

create table test.dbo.Users 
(
    Id int identity(1,1) primary key, 
    Name varchar(36) not null 
) 

create table test.dbo.Number 
(
    Id int identity(1,1) primary key, 
    Number varchar(10) not null, 
    Name varchar(36) not null foreign key references Users.Name 
) 

외래 키가 Foreign key 'FK__Number__Name__1CF15040' references invalid table 'Users.Name'. 말하는 오류가 발생합니다.

내가 뭘 잘못 했니?

+3

USERS.NAME이라고 생각하지 않습니다. USERS (NAME) 여야합니다. extact 구문을 확인하십시오. – Santhosh

+0

@Santhosh : 그러면 문제가 해결됩니다. 감사! 현재이 외래 키에 대해 'Users' 테이블에 일치하는 후보가 없다는 오류가 발생했습니다. – ojek

+0

데이터베이스 pls? – Santhosh

답변

3

이 SQLfiddle 링크를 참조하시기 바랍니다, Link

CREATE TABLE NUMBER(
    ID INT PRIMARY KEY, 
    NUMBER VARCHAR(10) NOT NULL, 
    NAME VARCHAR(36) NOT NULL REFERENCES USERS(NAME) 
); 
0

test.dbo.users의 기본 키를 참조해야합니다.

SQL 서버에서이 작업을 수행 할 수 있습니다 : 위의에서

create table Number 
(
    Id int identity(1,1) primary key, 
    Number varchar(10) not null, 
    Name varchar(36) not null , 
    Id_FK int not null foreign key references Users(id) 
) 

을, 당신은 두 테이블 사이의 필수 연관을 가지고있다. 선택적인 관계를 원할 경우 Id_Fk에서 'not null'을 제거하십시오.

참고 : 이름 열에 대해서는 모르겠다.

+0

네, 아마도'Name'을 참조하면 안됩니다. 하지만 내가 그것을 필요로한다면? 어떻게해야합니까? – ojek

1

나는 다음과 같은 코드를 사용하는 것이 다른 테이블의 기본 키를 참조해야 외래 키

나는 그것이 유용

희망
use test 
create table test.dbo.Users 
(
    Id int identity(1,1) primary key, 
    Name varchar(36) not null 
) 

create table test.dbo.Number 
(
    Id int identity(1,1) primary key, 
    Number varchar(10) not null, 
    Users_Id int not null 

    constraint fk_Number_Users foreign key (Users_Id) 
       references Users(Id) 
       on update no action 
       on delete no action 
) 
0

100 % 긍정적 인 사람들을 위해 나는 존재했다. web.config를 확인해야한다. 나는 거기에 오타가 있었고 당신이 나에게 묻는다면 반 직관적 인이 오류를 내고있었습니다. 그렇습니다.

관련 문제