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

cập nhật mysql - bỏ qua các trường trống?

Nó sẽ thay thế chúng bằng các giá trị trống. Cách chính xác để làm điều đó là không đặt các mục đó trong truy vấn atall:

if (empty($field1) && empty($field2) && empty($field3) {
  // show error message, nothing to do
  return;
}

$updates = array();
if (!empty($field1))
  $updates[] = 'field1="'.mysql_real_escape_string($field1).'"';
if (!empty($field2))
  $updates[] = 'field2="'.mysql_real_escape_string($field2).'"';
if (!empty($field3))
  $updates[] = 'field3="'.mysql_real_escape_string($field3).'"';
$updates = implode(', ', $updates);

mysql_query("UPDATE table SET $updates WHERE ID=123");

Rõ ràng sẽ dễ dàng hơn nếu đặt các thay đổi trong một mảng hoặc đối tượng liên kết, rồi lặp lại chúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển tiếp cổng Vagrant cho Mysql

  2. Sử dụng chuỗi được phân tách bằng dấu phẩy trong `IN () 'trong MySQL

  3. Mysql - Nhóm theo tháng với định dạng Y-m-d

  4. SQLException:Trước khi bắt đầu tập kết quả

  5. Truy vấn để lấy tất cả các bản ghi cho đến khi tổng của cột nhỏ hơn hoặc bằng một giá trị