2015-02-12 81 views
0

我可以将某些内容复制到另一个表格并在同一个表格中进行更新吗?Mysql/PHP更新表格+插入其他表格

像:

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

同时:

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

我可以把其他桌上的东西,同时它还停留在旧表,只是更新一列?

我用PHP的工作/ MySQL的

回答

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'; 
0

通过插入新行到表开始。

然后删除第一个表中的行。

最后复制你这个插入的行:

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

像:INSERT INTO 'table_new'(名称)值( “托马斯”)

同时:

UPDATE'table_old'set 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);