다음 주체 : 주거용 목록, 상업용 목록, 임대 목록 및 각 사용자의 주요 속성을 보유한 추천 목록. 가장 논리적는 다음 표 슈퍼 타입/서브 타입 접근 방식을 활용하고 만들 것 같다Mysql 데이터베이스 디자인 도움말
CREATE TABLE listings (
id ...,
listPrice ...,
...
PRIMARY KEY (id)
)
CREATE TABLE residential (
id ...
...
PRIMARY KEY (id),
FOREIGN KEY id REFERENCES listings(id)
)
CREATE TABLE featuredListings (
id ..,
userId ...,
featuredListingId ...
PRIMARY KEY (id),
FOREIGN KEY featuredListingId REFERENCES listings(id)
)
하지만 주거 테이블을 만들려고 할 때, MySQL은 테이블을 만들 수 없습니다 오류 "MySQL의 오류 번호 1005를 반환을 '주거'(errno를 : 150) "
내 DDL이 잘못되었을 수 있습니다. 또는 동시에 MySQL에서 FK가있는 PK를 가질 수 있습니까? 그렇지 않은 경우 이러한 시나리오에 가장 적합한 디자인은 무엇입니까?
아, 신경 쓰지 마세요. 내가 "주거용"테이블에 대해 InnoDB를 지정 했더라도 "listing"테이블을 InnoDB로 변경하는 것을 잊어 버렸습니다. 이제 작동합니다. – Zhaidarbek