2010-06-02 133 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