find_の使用in_set inの代わりにmysqlのinパラメータを設定する

1429 ワード

問題は、データ・レポートを作成する際に、常に1つのパラメータを設定し、そのパラメータに基づいて複数のsqlを実行し、全体のデータを計算する必要があることです.このパラメータに複数が入っているとINで操作できなくなります.多くのブログを見て、sqlに従って実行しても成功しませんでした.最後にfind_を見ましたin_set(str,strlist)の方法は、試してみて、完璧に解決しました.
--  person,  (id,name,age,addr)
SET @ids = '1,2,3,4';
SELECT * FROM person WHERE FIND_IN_SET(id, @ids);

同様のフィールドは、後のパラメータとしても使用できます.
--  blog,   (id,titile, content, category,tags,create_time,update_time),  ,tags   ,1:Java,2:Python,3:C++,      Java  
SELECT * FROM blog WHERE FIND_IN_SET(1, tags)