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

MySQL-行を削除する代わりに、行の値を削除します

    これを試すことができます-

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

    これはbananaのみを置き換えます eatから それが存在する列。

    更新

    データをループして、それらの値を置き換えます。これは役立つかもしれません-

    $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. PostgreSQLデータベースの10進フィールドのポイントの代わりにコンマを格納することは可能ですか?

    2. PHPエラーのテーブルのすべての値='s'

    3. 2つの日付の間の日付を取得する

    4. Servicestack:属性なしでインデックス、自動インクリメントなどを処理しますか?