Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zduplikuj rekord w MySQL

W końcu znalazłem ten kod. Jestem pewien, że w przyszłości pomoże to ludziom. Więc oto jest.

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;
}

Oto link do artykułu http://www.epigroove.com/posts/79/ how_to_duplicate_a_record_in_mysql_using_php



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego silnik MyISAM MySQL nie obsługuje kluczy obcych?

  2. Jak ustawić nazwę użytkownika i hasło za pomocą generatora kodu źródłowego Slick?

  3. Rails 3 z problemem mysql

  4. Jakie jest domyślne zachowanie MySQL podczas ON DELETE?

  5. mysql order by rand() problem z wydajnością i rozwiązanie