sql >> Databasteknik >  >> RDS >> Mysql

Duplicera en post i MySQL

Jag hittade äntligen den här koden. Jag är säker på att det kommer att hjälpa människor i framtiden. Så här är den.

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

Här är länken till artikeln http://www.epigroove.com/posts/79/ how_to_dulicate_a_record_in_mysql_using_php



  1. Konvertera från DUBBEL (15,2) till DECIMAL (15,2)

  2. Fel:kunde inte initiera huvudinformationsstrukturen när man utförde masterslavreplikering i MySQL

  3. 5 sätt att lista tillfälliga tabeller med T-SQL

  4. MySQL-fråga - identifiera data med hjälp av URL-namn där data organiseras i en hieraki