php - 使用 PHPMyAdmin 并创建一个包含多个条目的列?

标签 php mysql

<分区>

我是第一次创建数据库!目标是为用户提供一个数据库。我在本地主机 (XAMPP) 上使用 PHPMyAdmin 进行设置。

这对于“用户名”和“密码”之类的内容非常简单,但其中一个字段将是用户参与的事件列表。

例如,“事件:滑雪、划船、游泳”就是他们页面上的样子。

但我不确定如何在 PHPMyAdmin 上进行设置。我不能只创建一个名为“Activities”的 VARCHAR(255) 字段,因为我认为它会将他们的兴趣存储在一个框中,这不好,因为我需要将它们分开排序以供以后访问(例如,我需要查询所有具有共同“游泳”事件的用户)。

理想情况下我应该使用什么方法?

谢谢!

最佳答案

用户

---------------------------------------
| id |  username  |     password      |
---------------------------------------
| 1  |    john    |  somehashedpass1  |
| 2  |    carl    |  somehashedpass2  |
| 3  |    maria   |  somehashedpass3  |
---------------------------------------

事件

--------------------------------------
| id |  user_id  |     activity      |
--------------------------------------
| 1  |     1     |      Skiing       |
| 2  |     1     |      Rowing       |
| 3  |     1     |     Swimming      |
| 4  |     2     |      Skiing       |
| 5  |     2     |      Rowing       |
| 6  |     3     |      Skiing       |
--------------------------------------

然后使用JOIN 或子查询来获取所需的数据。

此外,您可以实现一个 3 表架构来定义用户、事件和关系,如下所示:

users(无变化)

---------------------------------------
| id |  username  |     password      |
---------------------------------------
| 1  |    john    |  somehashedpass1  |
| 2  |    carl    |  somehashedpass2  |
| 3  |    maria   |  somehashedpass3  |
---------------------------------------

事件

-----------------
| id | activity |
-----------------
| 1  |  Skiing  |
| 2  |  Rowing  |
| 3  | Swimming |
-----------------

关系

------------------------------
| id | user_id | activity_id |
------------------------------
| 1  |    1    |      1      |
| 2  |    1    |      2      |
| 3  |    1    |      3      |
| 4  |    2    |      1      |
| 5  |    2    |      2      |
| 6  |    3    |      1      |
------------------------------

这与之前的实现基本相同,但您将拥有结构更好的数据库。

关于php - 使用 PHPMyAdmin 并创建一个包含多个条目的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34553241/

相关文章:

mysql - mysql中如何捕获异常

php - Javascript文本区域字数统计未启用提交按钮

PHP 表单发布以防止导航/重新发布问题

javascript - 此付款表格由于某种原因未提交

mysql - 我如何建模这种关系(避免循环)?

mysql - 带计数的子选择,SQL 查询

javascript - Jquery ajax Post 不起作用?

php - jQuery .live() 不工作

mysql - 如何在 knex.js 中运行带有输出返回的 mysql 存储过程

MySQL 从连接中删除不工作