gpt4 book ai didi

mysql - 如何检查记录不包含特定字符串?

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

我有一个这样的表:

// mytable
+----+-------------------------------------------+
| id | col |
+----+-------------------------------------------+
| 1 | Peter|423421 , Alex Jon|61333 |
| 2 | Barmar|624321 |
| 3 | Jack|624321 , Ali|312331 , Leonard|624321 |
+----+-------------------------------------------+

我需要检查第二行是否不包含 824326,然后在其末尾添加此值 , Sara|824326。像这样的事情:

| 2  | Barmar|624321 , Sara|824326               |
<小时/>

现在我想知道,如何检查该字段不包含号码824326

这是我的尝试,我只需要条件(检查现有)

UPDATE mytable
SET col = CASE WHEN col = {:val doesn't exist} // <= How to write this condition?
THEN CONCAT(col,':newval')
ELSE SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "It is duplicate";
END,
WHERE id = 2;

注 1: :newval 是上述查询中的 , Sara|824326

注意2: :val 是上述查询中的824326

最佳答案

您必须使用INSTR 。试试这个:

UPDATE mytable
SET col = CASE WHEN col INSTR(col, ':val') = 0
THEN CONCAT(col,':newval')
ELSE SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "It is duplicate";
END,
WHERE id = 2;

关于mysql - 如何检查记录不包含特定字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34725743/

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