gpt4 book ai didi

mysql - 更新 MYSQL 中的查询?

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

我正在尝试编写这样的更新查询:

Update entryTable set type='String' Where ID='Entry_001' or SecondID='Entry_002' or ThirdID="Entry_003" or BackupID="Entry_004"

但它的作用是,如果它找到任何上述参数,即 ID、SecondID、ThirdID、BackupID,它就会更新我的表。

但是我必须编写一个更新查询,其中用户可以传递任何参数,并且我必须根据用户传递的参数进行过滤,即用户可以仅传递 ID,或者他可以同时传递 ID 和 SecondID,或者他可以传递SecondID或ThirdID或全部或他可以只传递BackupID等等。基本上我想编写一个更新查询,它将接受任何参数并根据这些参数进行更新。希望你能理解我的问题。提前致谢。

最佳答案

您应该尝试更仔细地编写查询,而不是总是添加所有条件。目前尚不清楚您使用什么语言或框架来获取此查询,因此我无法提供具体建议。

结果是你可以这样开始:

UPDATE entryTable SET type='String' WHERE

然后您将一一附加条件。通常最好将它们添加到数组中,然后根据需要使用“OR”或“AND”连接数组:

[ [ "ID=?", "Entry_001" ], [ "SecondID=?", "Entry_002" ] ]

这将转化为:

[ "UPDATE entryTable SET type='String' WHERE ID=? OR SecondID=?", "Entry_001", "Entry_002" ]

然后,您可以使用数据库的转义功能将这些占位符和值绑定(bind)在一起。

您可能也想在盲目发布更新之前尝试获取记录,然后仅根据主键进行更新:

SELECT ID FROM entryTable WHERE ID='Entry_001' ...

然后,如果返回单个记录,则执行更新:

UPDATE entryTable SET type='String' WHERE ID=?

如果它返回多个记录,您会提示用户更好地定义他们的搜索。

关于mysql - 更新 MYSQL 中的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16942397/

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