我的目标是将位置存储在表格中,但除了存储一个位置外,我还想将其链接到另一个位置。
示例:如果值为“Palm Beach”,我还想将其链接到“Florida”和“USA”以创建地址:
Palm Beach, Florida, USA
想法 1 一张桌子可以容纳一个国家、城市、城镇等,但要链接到“父母”。
CREATE TABLE location {
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
parentid
FOREIGN KEY parentid REFERENCES Employee (EmployeeID),
name VARCHAR (100) NOT NULL UNIQUE,
loc VARCHAR (17) NOT NULL,
rad VARCHAR (17),
added DATETIME DEFAULT NOT NULL
};
想法 2: 相同的系统,但有不同的级别表
CREATE TABLE locality (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (100) NOT NULL UNIQUE,
loc VARCHAR (17) NOT NULL,
rad VARCHAR (17),
added DATETIME DEFAULT NOT NULL,
FOREIGN KEY id REFERENCES administrative_area_level_1 (administrative_area_level_1),
};
CREATE TABLE administrative_area_level_1 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (100) NOT NULL UNIQUE,
loc VARCHAR (17) NOT NULL,
rad VARCHAR (17),
added DATETIME DEFAULT NOT NULL,
FOREIGN KEY id REFERENCES administrative_area_level_2 (administrative_area_level_2),
);
CREATE TABLE administrative_area_level_2 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (100) NOT NULL UNIQUE,
loc VARCHAR (17) NOT NULL,
rad VARCHAR (17),
added DATETIME DEFAULT NOT NULL
);
我真的希望能够从一个起点找出整个结构,例如搜索“棕榈滩”,我希望能够检索到它来自美国。
谁能给我一些关于最好的方法的意见吗?
编辑:我认为这是我想要使用的结构: https ://stackoverflow.com/a/317536/1738522