mysql - 如何关联两个MySQL表中的数据?

标签 mysql sql database database-design

我正在设计一个基本上必须存储两种元素的网络应用程序:帖子和容器(它们是帖子数组)

我已经完成了数据库,以便在容器的每一行中存储它所包含的帖子数组的字符串化版本。

问题是,当我每次调用容器时删除帖子时,我有帖子的 ID,我必须检查帖子是否存在。

有更好的方法吗?例如构建容器表以保存指向实际帖子的“指针”?

非常感谢!

最佳答案

如果我理解正确的话,你有一个一对多的关系:每个容器可以有很多帖子,但每个帖子都与一个容器相关。因此,您的数据库设计应该反射(reflect)这一点。

例子:

create table tbl_containers (
    containerId int unsigned not null auto_increment primary key,
    containerDescription varchar(100)
);
create table tbl_posts (
    postId int unsigned not null auto_increment primary key,
    containerId int unsigned not null,
    postText varchar(100),
    index idxContInd(containerId)
);

当您填充数据时,每个帖子都必须与一个容器相关联;换句话说,在可以输入帖子之前,必须有一个容器来容纳它,如果没有“合适的”容器,则应该在创建帖子之前创建它。

在您的数据进入表格后,很容易查找帖子并删除它们,与每个帖子所属的容器无关。

希望对你有帮助

关于mysql - 如何关联两个MySQL表中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13347830/

相关文章:

mysql - SQL查询多表的问题

mysql - 我们如何对 SQL 二进制数据类型执行操作?

SQL 子查询与否?

sql - 使用UNION时,是否保证SQL查询可以原子执行?

sql - 在 woy 和 hh24 的分区上使用 sum(case when...)

database - eclipse rcp view中耗时操作的最佳实践

php - 错误 : Could not make a database connection using user@host

sql - SQL 标准对 SQL UNION/EXCEPT/INTERSECT 语句中的括号有何规定?

c# - Bin - 在 WPF 中部署基于 MySQL Entity Framework Provider 的应用程序?

mysql - 具有多个 INNER JOINS 和 WHERE 条件的 SQL Select 语句