繁体   English   中英

如何多次添加多个用户

[英]how to add multiple user with multiple times

我想成为1位用户,并能够为此用户添加多张图片。 我正在考虑添加content_group以使用GROUP UP。 这是正确的数据库结构吗?

用户

|---------------------|------------------|
|          id         |       name       |
|---------------------|------------------|
|          1          |    TESTNAME      |
|---------------------|------------------|

内容

|---------------------|------------------|------------------|
|         id .        |      user_id     |      picture     | content_group
|---------------------|------------------|------------------|
|          1          |          1       |       1 .jpg     | xxxxxx
|---------------------|------------------|------------------|
|          2          |          1       |       2 .jpg     | yyyyyy
|---------------------|------------------|------------------|

这看起来还算不错。 如果要添加“内容组”,则应继续使用相同的模式。

我想我希望您的数据模型看起来像这样。 我重命名了一些字段。 这是超级主观的,但这是我可能期望字段被调用的方式。

CREATE TABLE user (
   id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
   name VARCHAR(50)
);

CREATE TABLE content (
   id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT
   user_id INT UNSIGNED NOT NULL,
   image_filename VARCHAR(50),
   category_id INT UNSIGNED
);

CREATE TABLE content_category (
   id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,      
   name VARCHAR(50)
);

您可能要添加一些外键,但这最终是可选的。 并非所有人都在MySQL中使用它们。

上面的数据模型假定类别是共享的。 如果类别属于特定用户,则该表还应获得一个user_id字段。

此外,如果类别是针对每个用户的,并且content每个项目都必须存在一个类别,则这意味着content表中不需要user_id字段,因为您可以通过Categories表找到它。

因此,这里是一种替代方案,其中类别是针对每个用户且必填的:

CREATE TABLE user (
   id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
   name VARCHAR(50)
);

CREATE TABLE content (
   id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT
   image_filename VARCHAR(50),
   category_id INT UNSIGNED NOT NULL
);

CREATE TABLE content_category (
   id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,  
   user_id INT UNSIGNED NOT NULL,    
   name VARCHAR(50)
);

问题未解决?试试以下方法:

如何多次添加多个用户

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM