助としてMysqlデータベースのデザイン
-
21-09-2019 - |
質問
以下のような団体:住宅物件、商業物件、賃貸借上場示物件を表性のための各ユーザーです。最も論理的にもレバレッジスーパータイプ/サブタイプアプローチを以下のテーブル:
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が間違っています。それとももできPKるのと同時にはFK MySQL?反対の場合、どのような最高のデザインなどのシナリオ?
解決
あなたは、MySQLで使用しているエンジンによっては、外部キーがサポートされていません。あなたがINNODBを使用している場合、私はidがFKことができるかどうかわからないが、それらがサポートされています。私は理由がない見ることができません。
あなたはMYISAMのFKSを使用している場合は、サポートされていません。
外部キーのカラム名が括弧内はありませんので、それが失敗している可能性もあります。
FOREIGN KEY id REFERENCES listings(id)
タグになり
FOREIGN KEY (id) REFERENCES listings(id)
両方この問題を持っています。
ヤコブ
他のヒント
- 名前を変更する外部キーの"住宅"。
- 確かに、親テーブルが存在します。
所属していません StackOverflow