sql >> Database teknologi >  >> RDS >> Mysql

MySql select IN klausul streng kommasepareret

Du kan bruge MySQL FIND_IN_SET funktion:

SELECT *
FROM my_table
WHERE FIND_IN_SET(id, comma_delimited_string) = 0

Tillæg :Bemærk, at forespørgslen ovenfor er ikke kan optimeres, så hvis du har et indeks på id MySQL vil ikke bruge det. Du bliver nødt til at beslutte, om den relative enkelhed ved at bruge FIND_IN_SET er værd at tage et potentielt præstationshit (jeg siger potentiale, fordi jeg ikke ved om id er indekseret, eller hvis din tabel er stor nok til, at dette er et problem).




  1. Undgå knee-Jerk Performance fejlfinding

  2. ved at bruge if and else Stored Procedures MySQL

  3. TreeView-kontrol med underformularer

  4. Sådan fungerer CAST() i MariaDB