簡體   English   中英

將數據從一個表復制到MYSQL中的另一表

[英]Copy data from one table into other table in MYSQL

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中有更多列,這意味着有一列,例如刪除日期,不在訂戶表中的刪除人。

如何在一個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上運行它? 我發現它沒有交易

您可以更改delete_subscriber表設置的刪除日期,在插入之前刪除人員的默認值為null。在從select查詢中填充數據之后,請再次將其修改為以前的值,而不是null。

將您的插入語句更改為

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM