如何將這些都查詢組合成單個查詢如何在一條語句中插入查詢和刪除查詢?
$sql = "INSERT INTO deletedtemplate (template) SELECT template FROM template WHERE id = $id";
$sql1 = "DELETE FROM template WHERE id = $id ";
如何將這些都查詢組合成單個查詢如何在一條語句中插入查詢和刪除查詢?
$sql = "INSERT INTO deletedtemplate (template) SELECT template FROM template WHERE id = $id";
$sql1 = "DELETE FROM template WHERE id = $id ";
你不能有這2個查詢在一起,但同樣可以通過觸發一些處理爲
delimiter //
create trigger template_del before delete on template
for each row
begin
insert into deletedtemplate (template)
SELECT template FROM template WHERE id = old.id ;
end;//
delimiter ;
所以如果刪除template
上的內容,將在deletedtemplate
表上發生插入
試試這個......也許讓你的字段的名稱不同於你的表的名字......所以表格仍然是模板,但改變字段currentTemplate或類似的東西。我不確定這是否會引起任何問題,但是它可以減少讀取/編輯查詢時的混淆。
REPLACE INTO
`deletedtemplate`
(`template`)
select
`template`
from
`template`
where
`id` = $id;
am getting this錯誤:** SQLSTATE [42000]:語法錯誤或訪問衝突:1064'as d,template as t(d.template)values(t.template)where t.id = 5'at line 1 ** –
發佈了更新,我的查詢語法錯了,您可以嘗試我發佈的新查詢。 @KalaiS –
仍然得到相同的錯誤... –
簡單,你可以使用這個組合這些都查詢:如果我把這個代碼的功能我得到錯誤的
$sql = "INSERT INTO deletedtemplate (template) SELECT template FROM template WHERE id = $id; DELETE FROM template WHERE id = $id ";
哎呀,我已經告訴過你了。我沒有意識到這是一個可以接受的答案。哈哈:)作爲其實不是一個查詢,而是兩個。第一個查詢在分號結束。 :)無論如何,我會爲你射擊。 –
**意外創建** –
你不能把這個變成你的PHP代碼,你需要直接添加到MySQL。 –