如何在不明確選擇列的情況下克隆 MySQL 中的行?

DDD
發布: 2024-11-10 19:07:03
原創
441 人瀏覽過

How to Clone a Row in MySQL without Explicitly Selecting Columns?

在 MySQL 中複製行:明確列選擇的替代方法

在 MySQL 中,通常需要快速有效地複製表格行。常見的方法包括使用“SELECT *”提取行資料並將其插入回同一個表中。然而,對於包含大量列的表,此方法變得笨拙。

Leonard Challis 提出了一個巧妙的解決方案,可以避免列出所有欄位:

CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
UPDATE tmptable_1 SET primarykey = NULL;
INSERT INTO table SELECT * FROM tmptable_1;
DROP TEMPORARY TABLE IF EXISTS tmptable_1;
登入後複製

此技術涉及建立一個用於儲存所需行的臨時表。此臨時表的主鍵設定為 null,允許 MySQL 在插入期間產生新值。為了確保檢索到單行,可以在 INSERT INTO 語句中加入「LIMIT 1」。

為了進一步確保只插入預期的行,應將主鍵值附加到臨時表名稱如程式碼片段中所示。該技術簡化了行複製過程,無需明確選擇列,使其成為管理 MySQL 中大型表的寶貴工具。

以上是如何在不明確選擇列的情況下克隆 MySQL 中的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板