簡體   English   中英

mysql 在多個表中插入行

[英]mysql insert rows in multiple tables

我有一個包含多個表的數據庫,在所有表中必須有一行,否則我的查詢會出錯。 在我的其中一個插入頁面中,我將所有行單獨插入表格中。 有沒有更有效和安全的方法來做到這一點? 也許在 Mysql (CASCADE) 中?

afaik 沒有其他方法可以在同一語句中將相同的數據放入不同的表中。 但是您可以嘗試使用事務。

START TRANSACTION;
insert into t1 (field1, field2) values ('data1','data2');

插入數據后,您可以檢查它們是否正常,以及是否一切都符合預期,然后提交您的查詢:

COMMIT;

或者做一個回滾,這會刪除“開始交易”的變化。

ROLLBACK;

我建議使用 MySQL 事務,它允許您在其中一個失敗時回滾插入。 啟動事務的SQL:

START TRANSACTION;

此時,執行插入操作,如果其中之一出錯,則回滾:

ROLLBACK;

如果所有插入都完成且沒有錯誤,您可以提交插入:

COMMIT;

事務的 MySQL 文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM