Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepszy sposób na usunięcie wartości z pola SET?

Jeśli wartość, którą chcesz usunąć z zestawu, nie może występować więcej niż raz, możesz użyć tego:

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

zobacz, jak działa tutaj . Jeśli wartość może występować więcej niż jeden raz, spowoduje to usunięcie wszystkich jej zanieczyszczeń:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LOAD DATA INFILE Kod błędu:13

  2. Błąd krytyczny:Nieprzechwycony błąd:Wywołanie niezdefiniowanej funkcji mysql_connect()

  3. MySQL 8 ignoruje długości całkowite

  4. Jak w złączeniu poprzedzić wszystkie nazwy kolumn tabelą, z której pochodzi?

  5. System wiadomości z PHP/MySQL