2016-11-06 3 views
0

"friendships"을 지원하는 데이터베이스를 만들고 싶습니다.암시 적 ROWID에 외래 키를 사용할 수 있습니까?

내가 함께 왔어요 (하지만 작동 정확히 알고하지 않습니다) :

users: 
    "create table if not exists user (
    name text not null, 
    password text not null 
)" 
friendships: 
    "create table if not exists friendship (
    user1 int not null, 
    user2 int not null, 
    foreign key(user1) references user(rowid), 
    foreign key(user2) references user(rowid) 
)" 

윌이 작품?

+1

시도 할 때 어떤 일이 발생 했습니까? –

답변

0

documentation는 말한다 :

부모 키가 열 또는 외래 키 제약 조건이 참조하는 부모 테이블에 열 집합입니다. 일반적으로, 항상 그런 것은 아니지만 상위 테이블의 기본 키입니다. s 위 키는 ROWID가 아닌, 명명 된 C 럼이거나 s 위 테이블의 C 럼이어야합니다. 어떤 경우에, 부모 키 명시 적으로 명명 된 열을 만드는 것도 좋은 생각이다, 그래서

는, 그 숨겨진 rowid 값 (진공 후, 예를 들면) 그 값을 유지하기 위해 보장되지 않습니다 유의하시기 바랍니다.

관련 문제