我必须在加载页面之前复制一些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,否则它不起作用
答案 0 :(得分:2)
你当然可以加快速度,但总体速度将取决于subject
表中的行数 - 在你的所有查询都加倍之后。
对于此示例,我假设subject
表列为ID
,ColA
,ColB
和ColC
,{{1} }是一个自动递增的主键:
ID
关键是在插入/选择时指定除 INSERT INTO subject (ColA, ColB, ColC)
SELECT ColA, ColB, ColC
FROM subject
之外的每一列。