2010-06-02 134 views
0

在我管理的其中一个站点中,客户决定采用之前外包的ACH /银行账户管理。因此,在我们的在线表格中提交的信息过去只存储在一个单一的数据库中进行处理,现在必须处于“缓慢”状态,直到用于付款的资金已经过验证。我原来的计划如下:需要使用PHP在MySQL数据库之间传输数据的帮助

在注册结束时,所有表单数据被收集并存储在单个MySQL数据库中。我们的内部管理员将收到一封电子邮件通知,提醒他已经进行了注册。他将处理所收集的ACH信息,并等待付款所需的3-4个工作日清除。

一旦支付信息已被返回为良好(尚未考虑我将如何处理'坏'),管理员可以登录到一个安全的门户网站,允许他点击一个按钮来'处理'完整的信息一旦被比较和验证。该过程被简化为:

  1. 登记完成:存储在 DB“A”数据
  2. 资金核实和链接点:从“A”被复制到DB“B” 和“A” 数据被删除。

我已经运行之前CSV输出类似的过程,只是使用

//transfers old data to archive 
$transfer = mysql_query('INSERT INTO '.$archive.' SELECT * FROM '.$table) or die(mysql_error()); 

//empties existing table 
$query = mysql_query('TRUNCATE TABLE '.$table) or die(mysql_error()); 

但在这种情况下,返回的所有数据被复制和删除。我只想复制和删除单个记录。

任何想法如何做到这一点?

回答

1

但在这些情况下,所有返回的数据都被复制并删除。我只想复制和删除单个记录。

任何想法如何做到这一点?

将一个WHERE条款添加到SELECT * FROM

INSERT INTO tablename SELECT * FROM tablename2 WHERE record_id_field = 'value'; 
+0

感谢您的帮助。鉴于我在行中返回数据,并且只会逐行处理,所以我不会知道被复制的行的给定名称或值。 – JM4 2010-06-02 22:06:12

+0

@ JM4为什么不呢?为什么你不能得到当前行的ID? – 2010-06-02 22:07:44

+0

我想我可以。基于上面提到的示例代码,我不确定它是如何适用的。我已经展示了如何向管理员显示以上信息。 – JM4 2010-06-02 22:09:45