我有一个 mysql 表,其中每一行可以有任意数量的逗号分隔的单词。例如:
TABLE words
"test, dog, fun, yellow, quick, yellow"
"jogging, academic, fun, jogging, shoulder"
"shoulder, happy, flower, shoulder, shoulder"
我想删除每一行中的重复单词。因此,例如,上面将变为:
TABLE words
"test, dog, fun, yellow, quick"
"jogging, academic, fun, shoulder"
"shoulder, happy, flower"
(请注意,我只需要自己删除每行中的重复项。我不需要删除所有行之间的重复项。)
关于实现此目标的最佳方法有什么建议吗?有没有比在表中一次一行地选择然后更新更好的方法?
预先感谢您的帮助。
最佳答案
这更适合在 SQL 之外使用。如果您尝试使用查询来查询字符串,那将不会很漂亮。我推荐:
SELECT
每一行- 执行
$val = explode(', ',$column);
- 切换到
$val = array_unique($val);
,然后 UPDATE
使用 implode(', ',$val);` 更新表。
注意:您可以节省一些时间并执行 strcmp($orig,$new)
并且只在必要时UPDATE
。
关于php - 从 mysql 表中的每一行中删除重复单词的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4425260/