mysql> select * from article where 1 member of(catalogs); +----+-------+----------+ id title catalogs +----+-------+----------+ 1 t1 [1] 2 t2 [1,2] +----+-------+----------+ 2 rows in set (0.00 sec)
我们看到 [1] 和 [1,2] 都是能正确返回的。[11]则能正确的被过滤掉。
值的注意的是,如果你的内容是字符串类的表达的,要加上’’去匹配。注意看下面的区别:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
mysql> select 1 member of ('["1"]'); +-----------------------+ 1 member of ('["1"]') +-----------------------+ 0 +-----------------------+ 1 row in set (0.00 sec)
mysql> select "1" member of ('["1"]'); +-------------------------+ "1" member of ('["1"]') +-------------------------+ 1 +-------------------------+ 1 row in set (0.00 sec)
mysql> select 1 member of ('[1]'); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'of ('[1]')' at line 1 mysql> select version(); +-----------+ version() +-----------+ 5.7.30 +-----------+