質問

以下のような団体:住宅物件、商業物件、賃貸借上場示物件を表性のための各ユーザーです。最も論理的にもレバレッジスーパータイプ/サブタイプアプローチを以下のテーブル:

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)

両方この問題を持っています。

ヤコブ

他のヒント

  • 名前を変更する外部キーの"住宅"。
  • 確かに、親テーブルが存在します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top