gpt4 book ai didi

php - mysql根据不同的条件更新不同的列

转载 作者:行者123 更新时间:2023-11-29 06:41:18 24 4
gpt4 key购买 nike

我有这个简单的表格:

list1 (VARCHAR), list2 (VARCHAR), list3 (VARCHAR), list1cnt (INT), list2cnt (INT), list3cnt (INT)

现在我想使用一个单独的 mysql 查询来查看哪些列表中包含单词“book”,并相应地更新正确的“cnt”列。

因此,如果 list1 中有单词 'book',则增加 list1cnt 值;

如果list2里面有'book'这个词,增加list2cnt的值;

如果list3里面有'book'这个词,增加list3cnt的值;

到目前为止,我的查询是这样的(如您所见,我正在运行 3 个单独的查询)。

mysqli_query($link,"UPDATE table SET list1cnt+='1' WHERE list1 LIKE '%book%'");
mysqli_query($link,"UPDATE table SET list2cnt+='1' WHERE list2 LIKE '%book%'");
mysqli_query($link,"UPDATE table SET list3cnt+='1' WHERE list3 LIKE '%book%'");

现在,如果我在多组数据上使用它,我将发送 3 个查询。如果在 PHP 中使用 mysqli_query 传递每个查询需要更多时间,所以我正在寻找直接在 MYSQL 中使用 IF 和条件的三合一 MYSQL 解决方案。我发现了一些东西,但问题是这不起作用,所以我被卡住了:

UPDATE table SET `list1cnt`=(CASE WHEN `list1` LIKE '%book%' THEN (`list1cnt`+'1')) WHERE date<='$date'

最佳答案

你可以只使用IF:

UPDATE
`table`
SET
`list1cnt` = IF (`list1` LIKE '%book%', `list1cnt` + 1, `list1cnt`),
`list2cnt` = IF (`list2` LIKE '%book%', `list2cnt` + 1, `list2cnt`),
`list3cnt` = IF (`list3` LIKE '%book%', `list3cnt` + 1, `list3cnt`),

关于php - mysql根据不同的条件更新不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21410204/

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