我有一个包含6列的SQL表,Continent,Country,City,lat,long和id,但是我需要将它们分成3个不同的表,一个用于大陆,一个用于国家,一个用于城市和位置数据但他们仍然需要通过外键连接。例如,不是澳大利亚,澳大利亚墨尔本,而是澳大利亚,澳大利亚,墨尔本。这可能与SQL查询有关而不会丢失我表中的所有数据吗?
答案 0 :(得分:0)
是的,这是关系数据库工作原理的基础。
你会有一个continent_id。
$counter = $connection->get("https://api.twitter.com/1.1/search/tweets.json?q=".$this->url );
$ajsn = json_encode($counter);
echo $ajsn['search_metadata']['count'];
取决于您的应用程序,但拆分它们可能没那么有用。这些信息是相当静态的,每次你想要它加入都会很烦人,无论它多么微不足道。
答案 1 :(得分:0)
您的MainTable
应该
id , city_id, lat, long
然后你有3个表continent
,country
和city
continent_id, continent_name
continent_id, country_id, country_name
country_id, city_id, city_name
然后你查询是。
SELECT M.*, CI.city_name, CO.country_name, CN.continent_name
FROM MainTable M
JOIN city CI
ON M.city_id = CI.city_id
JOIN country CO
ON CI.country_id = CO.country_id
JOIN continent CN
ON CO.continent_id = CN.continent_id