2012-03-21 62 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

相关问题