gpt4 book ai didi

php - 从列包含 PHP 的 mysql 数据库中选择

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

我有一个数据库,有些列包含 CA、GB 等内容,尽管有些包含多个国家/地区代码,例如

美国+英国+加拿大+澳大利亚

我只是想知道当我只搜索 CA 或只搜索 GB 时我会执行哪种查询会返回该行,而不一定是整个包 US+GB+CA+AU

Encase 这有点令人困惑,基本上我只需要根据对 CA 或 GB 等的搜索返回该行。

谢谢

最佳答案

使用FIND_IN_SET(),但您首先需要将 + 替换为 ,,因为它需要一个逗号分隔的字符串。即使没有REPLACE(),这不会使用国家代码列上的任何索引。

SELECT * FROM tbl 
WHERE FIND_IN_SET('AU', REPLACE(countrycodes, '+', ',')) > 0

但是,正确的长期解决方案是更改您的数据库结构,将这些国家/地区代码规范化为一个仅包含两列的表 - 一个国家/地区代码,以及您尝试访问的表中相关行的 ID现在查询。然后,您可以对该列进行适当的索引以提高性能(可能会大大提高性能)。

关于php - 从列包含 PHP 的 mysql 数据库中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9804573/

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