这是我的表
SNo | UserId
1 | 1,2,3,
如果我给出值1
,则不应更改值,因为它已经为1,如果我给4
它应该更新为1,2,3,4,
并且如果我给出值{{ 1}}它应更新为3,5
不应删除旧值,并且只应在最后一个逗号后面有新值
对于实例,如果我输入值1,4
我尝试了查询
1,2,3,5
但它会取代
,表格将是
UPDATE MyTable SET UserID='1,4' WHERE SNo = '1'
如果我在查询开头取旧值并用输入连接,那么
然后值为SNo | UserId
1 | 1,4,
1,2,3,1,4,
如何构建查询以满足我的所有条件。
答案 0 :(得分:1)
使用此
UPDATE `users` SET `namedata` = CONCAT('1,2,3,4','5') WHERE FIND_IN_SET('3',namedata)
答案 1 :(得分:1)
试试这个......
<?php
$os = array("1", "2", "3", "4");
$new="6";
$testdata=explode(",",$new);
for($i=0;$i<count($testdata);$i++)
{
if(in_array($testdata[$i],$os))
{
} else {
$os[]=$testdata[$i];
}
}
$final=implode(",",$os);
UPDATE MyTable SET UserID='$final' WHERE SNo = '1';
?>