加入收藏 | 设为首页 | 会员中心 | 我要投稿 台州站长网 (https://www.0576zz.cn/)- 边缘计算、中间件、数据处理、数据分析、智能存储!
当前位置: 首页 > 数据库 > MySql > 正文

php C 在MySQL中复制一条记录

发布时间:2023-12-14 19:36:59 所属栏目:MySql 来源:DaWei
导读: 我有一个表,我想复制表中的特定行.我知道这不是最好的做事方式,但我们正在寻找快速解决方案.
这里的内容比我最初的想法更难,我需要做的就是将整个记录复制到MySql中自动增量表中的新记录,而

我有一个表,我想复制表中的特定行.我知道这不是最好的做事方式,但我们正在寻找快速解决方案.

这里的内容比我最初的想法更难,我需要做的就是将整个记录复制到MySql中自动增量表中的新记录,而无需指定每个字段.这是因为该表可能在将来发生变化,并可能会破坏重复.我将从PHP复制MySQL记录.

这是一个问题,因为在’SELECT *’查询中,MySql将尝试复制正在复制的记录的ID,这会产生重复的ID错误.

这封锁了:
INSERT INTO客户SELECT * FROM customer WHERE customerid = 9181.它还阻止了INSERT INTO客户(Field1,Field2,…)SELECT Field1,….. FROM customer WHERE customerid = 9181.

有没有办法从PHP或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,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的链接

(编辑:台州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章