[英]what is the fastest way to copy mysql row?
我必須在頁面加載之前復制一些mysql行。 我試圖將它復制到臨時表,如下所示:
mysqli_query($con,"CREATE TEMPORARY TABLE tmp_tbl SELECT * FROM subject WHERE ID='$ID'");
mysqli_query($con,"UPDATE tmp_tbl SET ID=NULL");
mysqli_query($con,"INSERT INTO subject SELECT * FROM tmp_tbl");
mysqli_query($con,"DROP TABLE tmp_tbl");`
它工作得很慢。 只是以常規的丑陋方式復制它會更快嗎?
編輯 :當你想要更新多行時,你可以做這樣的事情:
mysqli_query($con,"INSERT INTO subject (Primary,AnotherID, COLB, COLC)
SELECT NULL,'$a', COLB, COLC
FROM subject WHERE AnotherID='$someID'");
您必須在主鍵中放置null,否則它不起作用
你當然可以加快速度,但總體速度將取決於subject
表中的行數 - 在你的所有查詢都加倍之后。
對於此示例,我假設subject
表列是ID
, ColA
, ColB
和ColC
,並且該ID
是自動遞增的主鍵:
INSERT INTO subject (ColA, ColB, ColC)
SELECT ColA, ColB, ColC
FROM subject
關鍵是在插入/選擇時指定除 ID
之外的每一列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.