mysql数据库如何存储联系人数据

时间:2016-01-30 06:46:53

标签: mysql sql

我想从手机上取消联系人 并存入mysql数据库 我有: -

用户表

id,userId, name, username, password

联络表

id
userId(foreignkey(from user table))
contact_name
mobileNo(unique-primary key)
email(unique key)

现在的问题是:

1)假设我正在获取索尼娅的联系人列表 哪里, 她有一个联系人: -

Name  mobileNo     email
Soma 5675675675    aaa@mail.com

另一位用户preeti的联系人列表包含: -

Name  mobileNo     email
sree 999999385    aaa@mail.com

又一个用户lila的联系人列表: -

Name  mobileNo     email
mona 5675675675    agawasti@mail.com

在我的数据库中 mobileNo 电子邮件是唯一主键, 但对于每个用户名/电子邮件/ mobileNo可能不同。我可以存储和管理这些数据 对于个人用户??

我有一个解决方案: -

1] User_info表

id | UserId | name | username |password

2]联系表

ContactId | Contact_Name | Contact_Phno |Contact_Email

3] User_Contact表

UserId | ContactId

但是,在通讯录表中,如何设置存储sonia,preeti / lila的联系信息?因为价值不同。

2 个答案:

答案 0 :(得分:0)

每个表只能有一个主键,但是你可能定义了一个复合键(无法从问题中得知)?我建议将'id'作为主键并在mobileNo和email上添加唯一性约束。这个选择也适用于您可能正在使用的大多数Web框架。

ALTER TABLE `contact` ADD UNIQUE `unique_index`(`mobileNo`, `email`);

答案 1 :(得分:0)

检查您的数据类型是否有电话号码。可能是整数,你的电话号码超过了它的限制..