gpt4 book ai didi

mysql - 如何使 field = 的 where 条件始终为真?

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

我有一个sql语句如下:

从表中选择 *,其中 id = ?

现在,问题是,我不知道前端是否会向我发送 id 的值,如果是,则此 sql 看起来像 id = 1,如果不是,则 sql 应该是像 id = true(假代码)找到所有数据

我怎么写我的sql?

或者,它从根本上是错误的?

最佳答案

这通常使用如下逻辑处理:

select *
from table
where id = ? or ? is null;

如果不想传递两次参数或使用命名参数:

select t.*
from table t cross join
(select ? as param) params
where id = params.param or params.param is null;

如果传入的值不存在,想返回所有ids:

select t.*
from table t
where id = ? or
not exists (select 1 from table t2 where t2.id = ?);

关于mysql - 如何使 field = 的 where 条件始终为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56388032/

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