+---------+----------+-----------
| id | value | map_id |
+---------+----------+-----------
| 1 | avcne | 1,2,3 |
+---------+----------+-----------
| 2 | fdhsj | 5,6,7 |
+---------+----------+-----------
| 3 | kqrno | 8,9,0 |
+---------+----------+-----------
从上表
SELECT value FROM table_above where map_id = 2
那么结果将是“avcne”。
SELECT values FROM table_above where map_id = 6
那么结果将是“fdhsj”。
有没有更好的方法来做到这一点而不使用 %-%
比如
SELECT value FROM table_above where map_id = %2%
提前致谢。
注意:这仅适用于临时表。
最佳答案
MySQL 的 find_in_set
这正是您正在寻找的:
SELECT value FROM table_above WHERE FIND_IN_SET(2, map_id)
关于mysql - 选择数组内爆中映射 id 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31907638/