Mysql / PHP UPDATE表+ INSERT INTO另一个表

时间:2015-02-12 08:24:41

标签: php mysql

我可以将某些内容复制到另一个表中并在同一个表中更新吗?

喜欢:

INSERT INTO 'table_new' (name) values ("thomas") 

同时:

UPDATE 'table_old' set ChangesWereMadeAt = (the date, where the changes were made) 

我可以把东西放在其他表中,而它也会保留在旧表中,只更新一列吗?

我使用PHP / MySql

4 个答案:

答案 0 :(得分:1)

使用LAST_INSERT_ID();

INSERT INTO 'table_new' (name) values ("thomas");
$last_id_inserted = LAST_INSERT_ID(); 

UPDATE 'table_old' SET blah='$blah' WHERE id='$last_id_inserted';

答案 1 :(得分:0)

首先将新行插入表格。

然后从第一个表中删除该行。

最后复制你插入的行:

INSERT INTO first_table
SELECT *
FROM dues
WHERE id = 5;

答案 2 :(得分:0)

  

喜欢:INSERT INTO'table_new'(名称)值(“thomas”)

     

同时:

     

UPDATE'table_old'设置ChangesWereMadeAt =(日期,其中   做了改变)

基于此,我会说解决方案是提出两个请求。

  

这意味着......我可以将一些东西放在另一张桌子中,同时它也会保留在旧桌子中,只更新一列吗?

但基于此,我可以给出一种解决方案。

$reqSelect= 'select * from YourTable 
where [insert the condition that would make you select only the data you want to copy]';
$data = mysqli_query($connection, $reqSelect);

$reqInsert='insert into YourDestinationTable(row1, row2, etc)
values('.$data[row1].', '.$data[row2].', '.$data[etc]);
mysqli_query($connection, $reqInsert);

$reqUpdate='update YourTable where [conditions here]
set TheRowYouWantToModify = '.data[TheDataYouWantInYourRow];
mysqli_query($connection, $reqUpdate);

答案 3 :(得分:0)

这听起来更容易解决我的MySql触发器。这里有一个基本的例子:Creating Triggers to add the data into Audit Table