【问题标题】:creation of table (of table) using MySql使用 MySql 创建表(表)
【发布时间】:2017-02-16 19:13:22
【问题描述】:

我正在尝试为 POP3 协议创建服务器。我对 mySql 比较陌生,想创建一个简单的数据库来存储用户(用户名和密码)及其相应的电子邮件(一些文本,而不是电子邮件 ID)。

示例:假设 user1 有 username1 和 password1。我想创建另一个指向 user1 并在那里包含他的电子邮件的表。

我的主要目的是使用 Java 运行查询并访问用户(使用他们的用户名和密码)和他们的电子邮件。

我该怎么做?

【问题讨论】:

  • 你知道JDBC吗?看那里:tutorialspoint.com/jdbc
  • 是的,我知道 jdbc,但无法弄清楚如何在指向 table1 的 table2(包含用户)下创建 table1(包含电子邮件)
  • 我没有关注你的问题。您的意思是您已经有一个包含 user1、username1、password1 的表,并且您想创建另一个包含 user1 的所有电子邮件的表?

标签: java mysql sql jdbc


【解决方案1】:

看看this的回答就知道如何在数据库中存储密码了。

你的设计可以是这样的:

users
    - id  int PK
    - username varchar unique not null
    - passwordhash varchar not null

user_emails
    - id int PK
    - user_id int not null FK -> users(id)
    - email varchar not null

我不会为你写下 DDL。查看供应商文档以了解 create table 语法。

【讨论】:

  • 感谢您的宝贵回复。即使我的想法与您刚刚概述的相同,但问题是,我需要维护所有电子邮件的编号,即所有电子邮件不能驻留在一个表中。每个用户都需要有自己的电子邮件表。我希望你能明白我的意思。
  • 我不明白。你到底为什么要为每个用户创建一个新表?您可以在进行选择时从单个表中获取编号。看到这个 - mysqltutorial.org/mysql-row_number
  • 是否可以将外键分配给整个表而不是单个行?
猜你喜欢
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 2019-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多