php - 如何处理 SQL 字段中的数组?

标签 php mysql codeigniter

我有一个来自佛罗里达州的 CSV 格式的提要,我需要每天将其加载到 MySQL 中。这是我所在地区所有待售房屋的列表。一个字段有一个代码列表,以逗号分隔。这是一个这样的示例:

C02,C11,U01,U02,D02,D32,D45,D67

这些代码都有一定的含义(游泳池、围栏区域等),我在单独的表中有含义。我的问题是,我应该如何处理加载这些?我应该像在 CSV 中那样将它们放在自己的字段中吗?我应该创建一个单独的表来保存它们吗?

如果我确实将它们保留在字段(称为 feature_codes)中,我如何从包含描述的表中获取描述?该表就是 feature_code、feature_code_description。我不知道如何在第一个查询中将它们分开以进行连接以引入描述。

谢谢

最佳答案

作为一般规则,csv 数据不应存储在字段中,特别是如果您实际上需要考虑 csv 数据的各个位,而不是仅考虑整个 csv 字符串。

您应该标准化设计并将每个子“字段”拆分到自己的表中。

话虽这么说,MySQL 确实有 find_in_set()它允许您对这些 csv 字符串进行排序搜索,并将每个字符串视为其自己的不同数据。使用它并不是特别有效,但它确实给设计带来了创可贴。

关于php - 如何处理 SQL 字段中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12568067/

相关文章:

javascript - Yii2 如何在 FullCalendar 中设置时间格式?

php - 从 html 重定向到 php

php - CodeIgniter 的喜欢和地点

php - 在没有 nodejs 的情况下在 laravel 中创建一个实时应用程序

php - 网站所需的硬盘空间

mysql - 寻找 friend 的 friend (不包括 friend )的最有效方法

PHP/MySQL 从 3 个不同的表中选择数据并将结果显示在一张表中

php - 使用 PHP PDO 匹配 MySQL 数据库中两个表的数据并提取

php - 打开网站时CodeIgniter数据库错误

php - Codeigniter 正确的 JOIN 请求