Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL - Xóa giá trị trong hàng, thay vì xóa hàng

Bạn có thể thử cái này -

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

Điều này sẽ chỉ thay thế banana từ eat cột nơi nó hiện diện.

Cập nhật

Lặp qua dữ liệu và thay thế các giá trị đó. Điều này có thể hữu ích -

$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. Hiển thị hình ảnh blob trong html với anglejs

  2. Hibernate:Đã tìm thấy bế tắc khi cố gắng lấy khóa

  3. Làm cách nào để mở kết nối DB trong Openshift?

  4. Không thể kết nối với Vagrant bằng HeidiSQL:Không thể kết nối với máy chủ MySQL trên 'localhost'

  5. Cách tải dữ liệu vào bảng mysql nhưng bỏ qua các dòng trống