php拷贝mysql表,php – 在MySQL中复制一条记录

搜索热词

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

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

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

这封锁了:

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

有没有办法从PHP或@R_301_198@做到这一点?

最佳答案

我终于找到了这段代码.我相信它将来会帮助别人.所以这就是.

function Duplicate@R_301_198@Record ($table,$id_field,$id) {

// load the original record into an array

$result = @R_301_198@_query("SELECT * FROM {$table} WHERE {$id_field}={$id}");

$original_record = @R_301_198@_fetch_assoc($result);

// insert the new record and get the new auto_increment id

@R_301_198@_query("INSERT INTO {$table} (`{$id_field}`) VALUES (NULL)");

$newid = @R_301_198@_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}";

@R_301_198@_query($query);

// return the new id

return $newid;

}

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值