我可以在一个表中创建几个表吗,mysql? [关闭]

Posted

技术标签:

【中文标题】我可以在一个表中创建几个表吗,mysql? [关闭]【英文标题】:Can I create a few tables in one table, mysql? [closed] 【发布时间】:2012-11-17 15:15:31 【问题描述】:

我有一个包含 6 个表的数据库。

其中一个表名为类别,其中包含 5 或 6 个类别。

例如:电影类有喜剧、剧情、惊悚、恐怖、言情等子类。

那么我可以在表格中添加子类别,还是应该像表格一样创建它们?

如果我有很多数据要添加到数据库中,有没有更简单的方法可以做到?

我正在使用 xampp

【问题讨论】:

您能否澄清一下子类别的含义以及它们与类别和/或电影的关系? 【参考方案1】:

category表中添加一个categoryOf字段,它将用于存储'父类别'的id。

对于子类别,使用此字段指向它是子类别的类别。 将(主要)类别条目的字段留空

例如:

id  name         categoryOf
0   comedy       NULL
1   drama        NULL
2   sub-comedy   0
3   sub-drama    1
4   sub-comedy2  0

注意:使用此方法,您甚至可以根据需要添加子子类别...

【讨论】:

"使用这种方法,你甚至可以根据需要添加子子类别" - 可以,但是因为 mysql 不支持递归函数,所以很难查询和维护。如果你想获取所有喜剧,包括它的后代怎么办?在 MySQL 中,这种分层数据通常最好使用嵌套集或传递闭包表进行建模。 问题是关于存储的,这种方法仍然有效并且非常简单,即使是子子类别。使用一个查询在一个查询中获取所有类别及其所有子类别可能/不可能/困难,但(尚)不需要在一个查询中这样做。 我的观察是,虽然这个邻接表模型很容易写入,但通常很难读取。我只是为了他人的利益发表评论,即确实存在可能更有用/适用的替代方案,具体取决于个人的需要。如果有人将存储视为只写,那么它的用途是值得怀疑的。 :) 同意。尽管我会将其更改为“通常很难有效地阅读”。使用 php 使用多个查询读取所有需要的数据并不难(只是效率低下)

以上是关于我可以在一个表中创建几个表吗,mysql? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据库要放1亿条信息怎样分表?

是否可以在 Xamarin 中创建几个屏幕,然后将它们导入 iOS 和 Android 项目?

循环在R中创建几个矩阵(可能使用粘贴)

我可以使用未知数据根据另一个表中的数据更新 SQL 表吗? [关闭]

我可以一次在程序中创建具有不同名称的表吗[关闭]

可以在 Redshift 中的特定目录中创建外部表吗?