sql >> Database >  >> RDS >> Mysql

De beste manier om waarde uit het veld SET te verwijderen?

Als de waarde die u uit de set moet verwijderen niet meer dan één keer aanwezig kan zijn, kunt u dit gebruiken:

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

zie het werken hier . Als de waarde meer dan één keer aanwezig kan zijn, worden alle gelegenheden ervan verwijderd:

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


  1. Controleren of mysql-gebruiker bestaat

  2. SQL Server - inner join bij updaten

  3. Mysql single query join 3 table en krijg alle resultaten

  4. Hoe Java verbinden met Mysql?