Mysql

從一個表中提取一些列數據並插入到多個表中

  • July 27, 2012

我有一個包含 16,000 條記錄的表,需要取出一些列,然後在多個表中插入值。例如,假設我有以下表格

  • tbl_1:身份證、姓名、姓氏
  • tbl_2:身份證,姓名
  • tbl_3:id,姓氏

我需要從 tbl_1 獲取值,然後插入 tbl_2 和 tbl_3,這意味著 tbl1.name 進入 tbl_2.name,tbl_1.lastname 進入 tbl3.lastname。這可能使用 SQL 查詢嗎?

我正在使用最新的 MySQL

假設您要保留id與每個姓名和姓氏相關的資訊,請執行以下命令:

INSERT INTO tbl_2 (id,name) SELECT id,name FROM tbl_1;
INSERT INTO tbl_3 (id,lastname) SELECT id,lastname FROM tbl_1;

如果表 tbl_2 和 tbl_3 已經有數據並且您希望覆蓋它,請執行以下命令:

REPLACE INTO tbl_2 (id,name) SELECT id,name FROM tbl_1;
REPLACE INTO tbl_3 (id,lastname) SELECT id,lastname FROM tbl_1;

如果您不保留 ID,請執行以下命令:

INSERT INTO tbl_2 (name) SELECT name FROM tbl_1;
INSERT INTO tbl_3 (lastname) SELECT lastname FROM tbl_1;

引用自:https://dba.stackexchange.com/questions/21633