Գտնո՞ւմ եք որոշակի տող, որն ունի MySQL-ում ստորակետերով բաժանված մի քանի ID:


Տող գտնելու համար օգտագործեք FIND_IN_SET(): Եկեք նախ ստեղծենք աղյուսակ.

mysql> create table DemoTable
   -> (
   -> ListOfIds varchar(200)
   -> );
Query OK, 0 rows affected (0.72 sec)

Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը.

mysql> insert into DemoTable values('100,2093,678,686');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable values('0595,9585,4885,95959');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values('0059954,95986884,9059596,9005');
Query OK, 1 row affected (0.20 sec)

Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.

mysql> select *from DemoTable;

Արդյունք

+-------------------------------+
| ListOfIds                     |
+-------------------------------+
| 100,2093,678,686              |
| 0595,9585,4885,95959          |
| 0059954,95986884,9059596,9005 |
+-------------------------------+
3 rows in set (0.00 sec)

Ստորև ներկայացված է հարցումը՝ MySQL-ում ստորակետերով բաժանված մի քանի ID-ներ գտնելու համար.

mysql> select *from DemoTable where FIND_IN_SET('9005', ListOfIds);

Արդյունք

+-------------------------------+
| ListOfIds                     |
+-------------------------------+
| 0059954,95986884,9059596,9005 |
+-------------------------------+
1 row in set (0.00 sec)