sql >> Databáze >  >> RDS >> Mysql

MySQL - Odstranit hodnotu v řádku namísto smazání řádku

Můžete to zkusit -

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

To by nahradilo pouze banana z eat sloupec, kde je přítomen.

Aktualizovat

Projděte data a nahraďte tyto hodnoty. To by mohlo pomoci -

$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. Jak používat příkaz spool v sql developer oracle

  2. Použití INNER JOIN ke kombinaci tabulek SQL Server a jejich zobrazení ve webových formulářích ASP.NET

  3. najít místo obsazené záznamy v mysql

  4. Stahování dat do souboru csv z MySQL pomocí PHP