mysql - 从字符串中删除特定值(字符串包含逗号分隔值)

标签 mysql

例如,如果我有这样一个表结构:

Table 1
    ID Name Value

    001 Rajesh 90,100,210,400
    002 Suresh 100,400,300,66
    003 Mahesh 200,500
    004 Virat 400,578,57

如何从 Suresh 中删除 400?

DELETE Value ="400" FROM table1
WHERE Name = 'Suresh'

这行不通。

最佳答案

我建议将值拆分到第二个表中,该表通过人员 ID 关联。但是,您可以针对您的当前情况使用以下查询:

UPDATE table1
SET Value = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', Value, ','), ',400,', ','))
WHERE Name = 'Suresh'

这是一个 SQL Fiddle .有关引用,请参阅 MySQL's string functions

关于mysql - 从字符串中删除特定值(字符串包含逗号分隔值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31388615/

相关文章:

mysql - SQL:用子查询打破平局

php - 在一个html表格中显示多个数组

mysql - 授予权限mysql服务器

在 innodb 恢复期间,MYSQL 不断被杀死

mysql - YII 如何使用 queryRow 函数获取受影响的行数

php - 使用 Angular 和 php 插入、显示和删除数据

mysql - 从数据库.net core 2中选择特定行

mysql - 我如何为其中有单个表的数据库制作 ER 图

mysql - 内连接三个具有垂直和水平引用的表

mysql - 添加 "GROUP BY"时MySQL子查询出错