我可以将某些内容复制到另一个表中并在同一个表中更新吗?
喜欢:
INSERT INTO 'table_new' (name) values ("thomas")
同时:
UPDATE 'table_old' set ChangesWereMadeAt = (the date, where the changes were made)
我可以把东西放在其他表中,而它也会保留在旧表中,只更新一列吗?
我使用PHP / MySql
答案 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