>백엔드 개발 >PHP 튜토리얼 >MYSQL逗号隔开的字符串如何正确删除

MYSQL逗号隔开的字符串如何正确删除

PHPz
PHPz원래의
2016-06-20 12:42:242553검색


问题:

有字段 arrchildid 值为 21,11,1,2  
我想删除其中的1,运行mysql   (相关mysql视频教程推荐:《mysql教程》)

UPDATE `category` SET `arrchildid`=replace(`arrchildid`,',1','') WHERE `catid`=100

结果把不该删除的也删除了,有什么好的解决办法,万分感谢  
PHPCMS用的就是这种数据结构,不过我没找到他是怎么处理的。当分类删除或修改时,其父分类的arrchildid 字段肯定是要改变的。

回复讨论(解决方案)

UPDATE `category` SET `arrchildid`=replace(concat(`arrchildid`,','), ',1,', '') WHERE `catid`=100

有字段 arrchildid 值为 21,11,1,2  
我想删除其中的1,运行mysql  

UPDATE `category` SET `arrchildid`=replace(`arrchildid`,',1','') WHERE `catid`=100

结果把不该删除的也删除了,有什么好的解决办法,万分感谢  
PHPCMS用的就是这种数据结构,不过我没找到他是怎么处理的。当分类删除或修改时,其父分类的arrchildid 字段肯定是要改变的。
我在phpmyadmin运行该语句出错,另外,如果arrchildid 值为 21,2,11,1 也没法替换,还有更好的解决方法吗

有字段 arrchildid 值为 21,11,1,2  
我想删除其中的1,运行mysql  

UPDATE `category` SET `arrchildid`=replace(`arrchildid`,',1','') WHERE `catid`=100

结果把不该删除的也删除了,有什么好的解决办法,万分感谢  
PHPCMS用的就是这种数据结构,不过我没找到他是怎么处理的。当分类删除或修改时,其父分类的arrchildid 字段肯定是要改变的。
我在phpmyadmin运行该语句出错,另外,如果arrchildid 值为 21,2,11,1 也没法替换,还有更好的解决方法吗

不知道是什么原因,手动打了一遍,SQL就不出错了


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.