正如Loko的上面的評論 - 你需要外鍵。基本上,你的「人」表應該有一個主鍵,如「PERSONID」:
CREATE TABLE person (
personid int not null auto_increment,
name varchar(50),
phone varchar(20),
primary key (personid)
)
您的郵箱表將隨後引用這是一個外鍵 - 即
CREATE TABLE email (
emailid int not null auto_increment,
emailaddress varchar(100),
personid int,
primary key (emailid),
foreign key (personid)
references person(personid)
)
(編輯添加主鍵到電子郵件表)
這會給你買一對多的關係 - 其中一個人可以有零到多個電子郵件地址(每個電子郵件地址都蓋上了他們的personid所有者)。
因此,在這個例子中,如果你想顯示屬於某個人的所有電子郵件地址,你知道他們的「PERSONID」你可以這樣做:
SELECT emailaddress FROM email WHERE personid = 1234
如果你只知道他們的名字,你可以做一個加盟:
SELECT email.emailaddress
FROM email
INNER JOIN person ON person.personid = email.personid
WHERE person.name = 'Jon Byjovi'
(編輯以顯示查詢示例)
我不知道,如果你知道外鍵,但與啓動,如果你不知道。 – Loko
https://stackoverflow.com/questions/12402422/how-to-store-a-one-to-many-relation-in-my-sql-database-mysql – bc2946088
這實際上是兩個問題。一個是關於數據庫設計,另一個是關於添加記錄。一次做一件事。從設計開始。 –