sql >> データベース >  >> RDS >> Mysql

mysqlでコンマで区切られた複数の値を検索する方法

    ここでは、データ構造がまったく正しくありません。

    カンマ区切り形式を使用して1つのフィールドに複数の値を格納するのではなく、次のように定義された3つのテーブルを使用する方が適切なソリューションです:

    • searchtest
      • id
      • 名前
    • キーワード
      • id
      • 単語
    • keywords_searchtest
      • id_keyword
      • id_searchtest


    これで、 searchtestのエントリを検索します 特定のキーワードを持つものは、次のように単純です:

    select searchtest.*, keywords.*
    from searchtest
        inner join keywords_searchtest on keywords_searchtest.id_searchtest = searchtest.id
        inner join keywords on keywords.id = keywords_searchtest.id_keyword
    where keywords.word = 'test2'
    


    さらに、特定の名前のsearchtestエントリを検索する必要があります:

    select *
    from searchtest
    where name = 'trophy1'
    


    1. パブリックネットワーク上でサイバー攻撃からMySQLとMariaDBデータベースを保護する方法

    2. MySQLの電話番号に最適なデータ型はどれですか?また、そのためのJava型マッピングはどうあるべきですか?

    3. Windowsでのmysqlのインポート

    4. Node.jsmysqlクエリ構文はUPDATEWHEREを発行します