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

MySQL - Usuń wartość w wierszu, zamiast usuwać wiersz

Możesz spróbować tego -

UPDATE users SET eat = REPLACE(eat, 'banana', '') where eat like '%banana%';

To zastąpiłoby tylko banana od eat kolumna, w której jest obecny.

Aktualizacja

Przeszukaj dane i zastąp te wartości. To może pomóc -

$check_val = 'banana';

//select those rows first
"select id, eat from users where eat like '%" . $check_val . "%'"

foreach($data as $v) {

    $temp= explode(',', $v['eat']);
    $temp= array_map(function($t) use($check_val) {
        return (strpos($t, $check_val) !== false) ? null : $t;
    }, $temp);
    $temp = array_filter($temp);
    $v['eat']= implode(',', $temp);

    "update users set eat= '" . $v['eat'] . "' where eat like '%" . $check_val . "%'"
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pobrać pogrupowane wiadomości uporządkowane według daty SQL

  2. Problem z dopasowaniem MySQL

  3. Liczba kolumn nie odpowiada liczbie wartości w wierszu 1 JAVA mysql

  4. Operator MySql REGEXP

  5. Gdzie mogę znaleźć dziennik transakcji MySQL?