gpt4 book ai didi

mysql - 如何从Content MySQL字段中插入和删除值,例如1,3,6

转载 作者:行者123 更新时间:2023-11-30 00:17:42 25 4
gpt4 key购买 nike

我想插入一个新值并从内容字段中删除一个值

示例:字段内容如 1,3,6我想在上面插入 4 [+ 旧值] 并仅删除 6

变量的值,

$var = '6';

如果字段中存在则删除,如果不存在则添加

代码:

if (Condition)
{
// add new value + old value
UPDATE table_name
SET column=new value,old value
}else{
// delete only value 6 from filed 1,3,6
UPDATE table_name
SET column=value
}

最佳答案

如果您无法标准化(如果所有值都来自一个小集合,则对于您的数据集可能没有意义),那么您可以将字段转换为 SET 类型,如下所示:

alter table tbl_name修改col_name set("1","2","3","4","5","6") not null;

该示例假设您有 6 个可能的唯一值,名为“1”到“6”。

然后要删除 6,您需要执行以下操作:

更新 tbl_name 设置 col_name = col_name & ~32

添加 6 即可

更新 tbl_name 设置 col_name = col_name | 32

魔术掩码编号(在本例中为 32)的一般公式为 2^(n-1),其中 n 是元素在集合中的位置。例如,如果我们想添加/删除集合的第五个元素(在我们的例子中为“5”),则魔术掩码将变为 2^(5-1) = 2^4 = 16

~ 表示按位 NOT& 是按位与|是按位或

仅当唯一值不超过 64 个时,SET 方法才有效。这是由于它们在内部存储为 64 位整数的限制。

关于mysql - 如何从Content MySQL字段中插入和删除值,例如1,3,6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23526281/

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