I have a table with two columns (id, numberslist).
How can I get all rows that have exactly “1” in numberslist (in this case id = 2)
Whats the sql statement?
id | numberslist
1 | 11,111
2 | 1,2,3
This doesnt work:
$sql = "SELECT * FROM mytabelle WHERE numberslist LIKE '%1%'";
I know it’s a bad database design to list all numbers in this way but its not changeable.
MySQL supports “word boundary” patterns in its regular expression syntax for this purpose.
You could alternatively use FIND_IN_SET():
That said, I agree with comments in other answers that storing a comma-separated list in a string like this is not good database design. See my answer to Is storing a comma separated list in a database column really that bad?