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

SETフィールドから値を削除する最良の方法は?

    セットから削除する必要のある値が複数回存在できない場合は、次のように使用できます。

    UPDATE yourtable
    SET
      categories =
        TRIM(BOTH ',' FROM REPLACE(CONCAT(',', categories, ','), ',2,', ','))
    WHERE
      FIND_IN_SET('2', categories)
    

    こちら で動作することを確認してください 。値が複数回存在する可能性がある場合、これによりその値のすべての発生が削除されます:

    UPDATE yourtable
    SET
      categories =
        TRIM(BOTH ',' FROM
          REPLACE(
            REPLACE(CONCAT(',',REPLACE(col, ',', ',,'), ','),',2,', ''), ',,', ',')
        )
    WHERE
      FIND_IN_SET('2', categories)
    


    1. SQLServerで文字列内の文字列を検索する方法

    2. 適切なデータベースパフォーマンス監視ツールを使用していますか?

    3. sqliteLog 14:行でファイルを開くことができません

    4. phpを使用してtxtファイルをpostgresにインポートする際の問題