Heim > Backend-Entwicklung > PHP-Tutorial > MYSQL逗号隔开的字符串如何正确删除

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

PHPz
Freigeben: 2019-02-26 17:25:01
Original
2525 Leute haben es durchsucht


问题:

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

UPDATE `category` SET `arrchildid`=replace(`arrchildid`,',1','') WHERE `catid`=100
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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

回复讨论(解决方案)

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

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

UPDATE `category` SET `arrchildid`=replace(`arrchildid`,',1','') WHERE `catid`=100
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

结果把不该删除的也删除了,有什么好的解决办法,万分感谢
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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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

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


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage