我有以下实体:住宅列表,商业列表,租赁列表和特色列表,其中包含每个用户的特色属性。最合乎逻辑似乎利用超/亚型的方法,创建下表:帮助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无法创建表‘住宅’(错误:150)“
也许我的DDL不正确。或者甚至有可能在MySQL中同时使用PK呢?如果不是,这种情况下最好的设计是什么?
啊,没关系。即使我指定InnoDB为“住宅”表,我忘了将“列表”表更改为InnoDB。现在它可以工作。 – Zhaidarbek