我可以使用一个表来更新另一个表中的信息吗?

时间:2016-09-23 23:49:58

标签: mysql reference foreign-keys

我的数据库中有一个zipcode表和一个shelter表。我希望收集表中的ShelterCityShelterStateShelterZip列可以引用CityStateZipCode列中的zipcodeZipCodeshelter table列。 zipcode表。我将ShelterCity列(zipcode表中的PK)作为ShelterState中的外键,但似乎无法弄清楚如何(或者甚至可能)添加另一个{{1}当我将一个zipcode输入到shelter表中时,它们会更新。

当我尝试添加ShelterZipCityState作为引用ZipCodeError Code 1215. Cannot add foreign key constraint.ALTER TABLE shelter ADD FOREIGN KEY (ShelterCity) REFERENCES zipcode(City);的外键时列,我收到一条如下所示的错误消息:classList.add()我用来尝试添加这些外键的代码如下:

var element = document.getElementById("my-class"); element.classList.add("class-name");

我做错了什么?提前谢谢!

1 个答案:

答案 0 :(得分:3)

对于初学者来说,你的表的结构将是......

zipcode table
-------------
City
State
Zip

shelter table
-------------
ShelterZip
Other Fields

您不需要ShelterCity和ShelterState字段。 ShelterZip将引用Zip。

一个简单的查询就是

SELECT City, State, Zip 
FROM shelter 
INNER JOIN zipcode ON shelter.ShelterZip = zipcode.Zip 
WHERE ShelterZip = 12345

SELECT z.City, z.State, z.Zip 
FROM shelter s
INNER JOIN zipcode z 
ON s.ShelterZip = z.Zip 
WHERE s.ShelterZip = 12345

我也建议您阅读关系数据库设计。一个来源是http://www.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html