MySQL IN() 대신 FIND_IN_SET()을 사용하십시오. 먼저 −
를 생성해 보겠습니다.mysql> create table DemoTable1423 -> ( -> CountryName varchar(100) -> ); Query OK, 0 rows affected (0.51 sec)
insert −
를 사용하여 테이블에 일부 레코드 삽입mysql> insert into DemoTable1423 values('AUS,UK'); Query OK, 1 row affected (0.08 sec) mysql> insert into DemoTable1423 values('US'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable1423 values('AUS,UK,US'); Query OK, 1 row affected (0.13 sec)
select −
를 사용하여 테이블의 모든 레코드 표시mysql> select * from DemoTable1423;
이것은 다음과 같은 출력을 생성합니다 -
+-------------+ | CountryName | +-------------+ | AUS,UK | | US | | AUS,UK,US | +-------------+ 3 rows in set (0.00 sec)
다음은 FIND_IN_SET()−
를 사용하여 레코드를 가져오는 쿼리입니다.mysql> select * from DemoTable1423 where find_in_set('US',CountryName);
이것은 다음과 같은 출력을 생성합니다 -
+-------------+ | CountryName | +-------------+ | US | | AUS,UK,US | +-------------+ 2 rows in set (0.00 sec)