我有一个列用户订单,我们正在像这样存储
[1][2][3][5] // Expected output 1,2,3,5
[25][27] // Expected output 25,27
[2] // Expected output 2
我不明白为什么我的主存储像上面的格式,而不是逗号分隔符的数据,这是出于安全原因吗?
如何将其替换为1、2、3、5以在查找集合中使用(u.id、c.user\u orders)?
我试过这样做
https://stackoverflow.com/questions/27262855/mysql-find-in-set-slash-separator
1条答案
按热度按时间7vhp5slm1#
而不是试图改变
[1][2][3][4]
对于csv格式,更简单的方法是使用REGEXP
. 例如,如果要搜索id为3,可以使用:如果你真的想把数据转换成纯csv,你可以做一系列的替换,例如。
但一般来说,您应该避免存储
[1][2][3][4]
或者1,2,3,4
,因为两者都是非规范化的数据,因此大大限制了mysql的处理能力。