mysql - 删除mysql varchar中的id

标签 mysql sql

我找不到删除 varchar 列中存储的 ID 之一的方法。

id         fieldid
1          ,5,13,15,66,443,

如何从这个字段 ID 中删除,比方说 15?

最佳答案

正确的逻辑是:

UPDATE <your_table_name>
    SET fieldid = REPLACE(fieldid, ',15,', ',')
---------------------------------------^----^ these commas a really important
    WHERE id = 1;

但是,存储字符串数量的列表在 SQL 中是不好的,不好的,不好的:

  • 数字应该声明为数字,而不是字符串。
  • 应明确声明外键关系。
  • SQL 的字符串处理功能很糟糕。
  • 无法优化对字符串列表的查询。
  • 还有更多原因。

有时,您会被其他人非常、非常、非常糟糕的设计决策所困。

关于mysql - 删除mysql varchar中的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44521038/

相关文章:

mysql - 根据多个条件查找相关文章

mysql - 最新Group By MYSQL+链接表

mysql - 使用连接更新表的多行列

sql - PostgreSQL - 使用 AVG() 和 MAX() 时如何忽略严重错误?

c# - 使用 groupby sum 和 min 进行 EF Linq to Entities 查询

sql - 如果条件不匹配,select 语句会返回什么?

php - 选择日期之前

php - 为什么这个查询在 Laravel 5.1 中不起作用?

php - MYSQL数据无法控制

php - 我到底该怎么做才能实现类似 facebook 的新闻提要