gpt4 book ai didi

MySql select IN 子句字符串逗号分隔

转载 作者:IT老高 更新时间:2023-10-29 00:10:19 29 4
gpt4 key购买 nike

我需要按以下方式执行选择查询:

select * from my_table where id NOT IN (comma_delimited_string);

实现该目标的正确方法是什么?

考虑到我可以控制发送字符串的客户端代码,是否有更好的方法? (该字符串将包含大约 30 个 ID,因此我尽量避免发送 30 个参数,每个 ID 一个)。

谢谢大家

最佳答案

您可以使用 MySQL FIND_IN_SET功能:

SELECT *
FROM my_table
WHERE FIND_IN_SET(id, comma_delimited_string) = 0

附录:请注意上面的查询是不可优化的,因此如果您在id 上有索引,MySQL 将不会使用它。您必须决定使用 FIND_IN_SET 的相对简单性是否值得承受潜在的性能损失(我说潜在是因为我不知道 id 是否已编入索引或者是否你的 table 足够大,这值得担心)。

关于MySql select IN 子句字符串逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16990392/

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