[英]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.