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

MySQLでレコードを複製する

    私はついにこのコードを見つけました。将来的にはきっと役立つと思います。これがここにあります。

    function DuplicateMySQLRecord ($table, $id_field, $id) {
      // load the original record into an array
      $result = mysql_query("SELECT * FROM {$table} WHERE {$id_field}={$id}");
      $original_record = mysql_fetch_assoc($result);
    
      // insert the new record and get the new auto_increment id
      mysql_query("INSERT INTO {$table} (`{$id_field}`) VALUES (NULL)");
      $newid = mysql_insert_id();
    
      // generate the query to update the new record with the previous values
      $query = "UPDATE {$table} SET ";
      foreach ($original_record as $key => $value) {
        if ($key != $id_field) {
            $query .= '`'.$key.'` = "'.str_replace('"','\"',$value).'", ';
        }
      }
      $query = substr($query,0,strlen($query)-2); # lop off the extra trailing comma
      $query .= " WHERE {$id_field}={$newid}";
      mysql_query($query);
    
      // return the new id
      return $newid;
    }
    

    記事へのリンクは次のとおりです http://www.epigroove.com/posts/79/ how_to_duplicate_a_record_in_mysql_using_php



    1. SQLServer2017のトリガーイベントタイプの階層リスト

    2. SQLliteデータベースをGoogleドライブアプリフォルダにバックアップ/復元します

    3. 非常に大きなテーブルでの(列ストア)圧縮の楽しみ–パート2

    4. SQLでのカーディナリティの定義は何ですか