我找不到删除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具有糟糕的字符串处理功能。
字符串列表中的查询无法优化。
还有更多原因。
有时,您会陷入别人的非常非常糟糕的设计决策中。