栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

存储未知长度的数组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

存储未知长度的数组

如果你在一个情况发现自己在那里你开始有

column1
column2
在桌子上-有机会,你的设计是越来越有缺陷的,你应该建立单独的表-
每个
columnX
都有自己的一排。如果发现自己在同一张表上有多个重复的列,最好有一个单独的表。

这样,您可以避免将逗号分隔的值存储在列中,避免在突然需要引入另一个值的情况下破坏代码/查询

column{X+1}
-而是可以根据需要具有任意数量的输入值。

对您来说,这就像是一个名为的新表

land_owner_input
,在其中您拥有值(您将放入
columnX
)和
land_owner
对该值所属行的引用。

典型的设计模式就是这样。

CREATE TABLE land_owner_input (    land_owner_input_id INT(11) AUTO_INCREMENT    land_owner_id INT(11),     land_owner_input_value VARCHAr(MAX));

请记住,您

land_owner_id
在新表中的类型和大小应与其引用的ID完全相同。

您还可以在

land_owner_id
和的
land_owner
表ID之间创建外键约束,以确保数据完整性。

有了新表后,就可以使用来一起查询它们

LEFT JOIN
JOIN
如果有输入值,则只返回一个普通表即可)。

SELECt *FROM land_owner AS loLEFT JOIN land_owner_input AS loi    ON loi.land_owner_id = lo.land_owner_id


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669998.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号