gpt4 book ai didi

mysql : workaround for if() returning >1 row

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

有这个 where 子句:

第一个和第二个占位符?可以有值: 1 || NULL
第三个占位符是动态添加的(数组)

IF(ISNULL(?),1,xy.id) IN 
(IF(ISNULL(?),1,(SELECT x.id FROM x WHERE name IN (?))))

我需要这种类型的 isnull 检查,因为我希望如果发送的数据为 null,则该子句始终返回 true。基本上 if data is null 子句将是 1 IN 1 ,如果它不为 null 找到对应的 ids ,但是 if() 函数限制我只返回 1 个结果(不是除了在 php 中动态构建整个查询之外,我这里还有什么选项?

最佳答案

您可以在 where 子句中执行此操作

WHERE (ISNULL(?) OR xy.id IN (SELECT x.id FROM x WHERE name IN (?)))

关于mysql : workaround for if() returning >1 row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13092239/

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