gpt4 book ai didi

mysql - 从字符串或序列化数组中查询数据

转载 作者:行者123 更新时间:2023-11-29 03:58:11 25 4
gpt4 key购买 nike

我需要从包含如下字符串的列进行查询:语言 1、语言 2、语言 3

我无法真正为每种语言创建一个新列,因为它们的数量未定义。

所以我想知道从该字符串中查询数据的最高效/最优雅的方式是什么?

我应该使用序列化数据吗?检索所有匹配的行的查询会说“Language2”吗?

编辑该表包含我用来从我的站点搜索用户的标准索引。语言是标准之一,城市、国家和其他一些标准也是如此。问题是每个用户可以拥有未定义数量的语言。

第二次编辑这是我的 table 现在的 View :my table as it is right now

最佳答案

我正在为在序列化数组中查询数据的相同场景寻找解决方案,发现使用 SUBSTRING_INDEX()功能完成工作。下面的例子:

| language             |
------------------------
| a:1:{i:1;s:3:"183";} |

要获取数字“183”(不带引号),查询将类似于:

SELECT TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(language,';',2),':',-1)) AS language_id
FROM language_table;

它应该为您提供以下不带引号的结果:

| language_id          |
------------------------
| 183 |

关于mysql - 从字符串或序列化数组中查询数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403728/

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