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