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

mysql update-空白のフィールドをスキップしますか?

    それらを空白の値に置き換えます。それを行う正しい方法は、それらのアイテムをクエリにまったく入れないことです:

    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");
    

    明らかに、変更を連想配列またはオブジェクトに入れてから、それらをループする方がクリーンです。



    1. MySQLのパーティショニング/シャーディング/スプリッティング-どちらに進むか?

    2. MySQLをDebian8にインストールする方法

    3. 変数データベース名

    4. フォローするトップデータベースブログ