【发布时间】:2021-03-22 08:14:15
【问题描述】:
我将我的地址信息存储在几个表格中:国家、邮政编码、街道和号码。
CREATE TABLE country (
country_id INT,
name VARCHAR(45),
PRIMARY KEY(country_id));
CREATE TABLE zip (
zip_id INT,
zip VARCHAR(45),
PRIMARY KEY(zip_id));
CREATE TABLE street (
street_id INT,
name VARCHAR(45),
PRIMARY KEY(street_id));
CREATE TABLE number (
number_id INT,
number INT,
PRIMARY KEY(number_id));
我使用地址表将信息放在一起,其中包含前面提到的表的 id 作为外键。
CREATE TABLE address (
address_id INT,
country_id INT,
zip_id INT,
street_id INT,
number_id INT,
PRIMARY KEY(address_id),
FOREIGN KEY(country_id) REFERENCES country(country_id),
FOREIGN KEY(zip_id) REFERENCES zip(zip_id),
FOREIGN KEY(street_id) REFERENCES street(street_id),
FOREIGN KEY(number_id) REFERENCES number(number_id));
如何用一条 SQL 语句显示完整的地址?
【问题讨论】:
-
为了在语法上正确,您的地址表需要包含 country_id、zip_id、street_id 和 number_id 列(看不到 number_id 的点)以及逻辑上与客户相关的内容(或任何地址用于)请查看dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html
标签: mysql join foreign-keys