gpt4 book ai didi

php - mysql 61表连接限制

转载 作者:行者123 更新时间:2023-11-30 22:47:44 25 4
gpt4 key购买 nike

先行者:也许我的数据库设计很糟糕。

我有一个系统,我在其中记录了有关元素的一些设置信息。然后其他用户可以向这些元素添加详细信息。我事先不知道这些细节的名称是什么,也不知道会有多少。因此,我将它们存储在 element_detail 表中。在某些情况下,我需要将这些行显示为列,即在导出数据时,用户可以指定他们想要将哪些详细信息作为输出的一部分。为此,我使用以下类型的查询:

select ed1.item_value as 'detail_1_name',ed2.item_value as 'detail_2_name' from element e 
left join element_detail ed1 on ed1.element_id=e.element_id and ed1.item_key='detail_1_name'
left join element_detail ed2 on ed2.element_id=e.element_id and ed2.item_key='detail_2_name'

在我开始查看单个数据集中的 61 多个细节之前,这一直很有效。此时我得到:CDbCommand 无法执行 SQL 语句:SQLSTATE[HY000]: 一般错误:1116 表太多; MySQL 一次连接只能使用 61 个表

我怎样才能改变我的设计,这样我就不会得到这个,最好是不必进行 61 个单独的查询并自己构建数据集。我使用 PHP/Yii 作为开发环境。

最佳答案

61 table 达到上限,引用https://dev.mysql.com/doc/refman/5.0/en/joins-limits.html

您可以创建一个大(临时)表并通过多个查询对其进行更新。最后你可以从中阅读。确保列名不要太长,因为也有限制。

关于php - mysql 61表连接限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29116500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com