2012-03-21 90 views
0
INSERT INTO delete_subscriber (SubID,RandomCode,Email,FirstName,LastName,CreateDate,UpdateDate) 
SELECT subscriber.* 
FROM subscriber, list_sub 
WHERE ListID=? AND list_sub.SubID=subscriber.SubID; 

我用select語句來獲取所有記錄,並將其存儲到其他數據庫,問題是,有在delete_subscriber多個列,這意味着有有一列,例如刪除日期,刪除不在用戶表中的人。從一個表的數據複製到其他表中MYSQL

如何將它們添加到一個sql語句中?或者我必須使用另一種說法? 但如果我嘗試後一種方法,問題是刪除日期,刪除的人沒有空,我不能用一號聲明

INSERT INTO delete_subscriber (SubID,RandomCode,Email,FirstName,LastName,CreateDate,UpdateDate,DeleteDate,DeletePerson) 
SELECT s.SubID,s.RandomCode,s.Email,s.FirstName,s.LastName,s.CreateDate,s.UpdateDate,NOW(),? 
FROM subscriber s , list_sub 
WHERE list_sub.ListID=? AND list_sub.SubID=s.SubID; 

我可以在SQL運行,但不是PHP PDO插入部分記錄?我發現它沒有做交易

+0

可以刪除日期autocomputed(WRT系統日期),或者是依賴於另一個表? – 2012-03-21 00:49:06

+0

使用now()函數 – 2012-03-21 00:52:16

+1

在這種情況下,請執行以下操作:從select查詢中除去*並指定所有列;在你選擇的語句中添加你想要的新列作爲常量,例如。現在()作爲delete_date – 2012-03-21 00:59:15

回答

0

改變你的INSERT語句

INSERT INTO delete_subscriber   
(SubID,RandomCode,Email,FirstName,LastName, 
CreateDate,UpdateDate,DeleteDate,DeletingPerson) 
SELECT  s.SubID,s.RandomCode,s.Email,s.FirstName,s.LastName, 
s.CreateDate,s.UpdateDate,NOW(),? 
FROM subscriber s , list_sub 
WHERE list_sub.ListID=? AND list_sub.SubID=s.SubID; 
0

你可以修改delete_subscriber表的設置刪除日期,在insert.and之前刪除person default default,填充select select query之後的數據再次修改它們爲previous,not null。

+0

對不起,我不知道爲什麼我的編輯器在stackoverflow消失了,你認爲這個代碼插入是可以的嗎?這是兩條sql語句 – 2012-03-21 00:55:32

+0

爲什麼你從script>填充?你可以直接在數據庫中執行查詢 – 2012-03-21 00:56:58

+0

然後第二條語句不使用插入但改變?因爲我插入數據到存在的記錄,我怎樣才能將他們引用到第一個ID一個接一個呢? – 2012-03-21 00:59:46

相關問題