首頁  >  文章  >  資料庫  >  MySQL如何向多個表插入資料?

MySQL如何向多個表插入資料?

Patricia Arquette
Patricia Arquette原創
2024-11-10 18:26:02310瀏覽

How to Insert Data into Multiple Tables in MySQL?

使用 MySQL 將資料插入到多個表中

使用單一查詢將資料同時插入 MySQL 中的多個表中是不可行的。但是,還有其他方法可以實現此目的:

批次

您可以批次執行多個INSERT 語句:

BEGIN;
INSERT INTO visits (visit_id, card_id) VALUES (NULL, 12131141);
INSERT INTO registration (registration_id, type, timestamp, visit_id)
VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID());
COMMIT;

預存程序

或者,您可以建立一個封裝兩個INSERT語句的預存程序:

CREATE PROCEDURE insert_into_multiple_tables(
  IN card_id INT
)
BEGIN
  INSERT INTO visits (visit_id, card_id) VALUES (NULL, card_id);
  INSERT INTO registration (registration_id, type, timestamp, visit_id)
  VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID());
END

然後您可以使用所需的卡ID 執行預存程序:

CALL insert_into_multiple_tables(12131141);

事務控制

為了確保資料的完整性,可以將批次或儲存程序包裝在交易中:

BEGIN TRANSACTION;
-- Execute INSERT statements here
COMMIT;

如果任何INSERT語句失敗,交易將回滾,確保所有受影響表中的資料保持一致。

以上是MySQL如何向多個表插入資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn