我打算爲我初始化數據庫的許多插入語句實現事務。我知道一個事務將允許我們將更改提交到數據庫,從而保存它。或者,如果其中一個插入失敗,我們可以回滾所有可能成功的插入。我的問題是,如何檢測插入語句是否失敗?如何檢測插入過程中是否發生錯誤?
start transaction;
insert into ..
insert into ..
insert into ..
if (failure) roll back
else commit.
進一步解釋,
我有我跑插入一組數據到我的數據庫的SQL腳本文件。我想圍繞這些插入包裝事務,以便在運行時,如果其中一個失敗,那麼在執行任何插入操作之前,我們會回滾到初始狀態。
您檢查每個插入查詢的單個結果。例如如果您是從某些客戶端應用程序執行此操作,例如PHP,你會檢查插入查詢的返回值。如果沒關係,那麼你做另一個插入,等等......一旦完成插入,你做提交。 –
你在做什麼?我的意思是這些存儲過程在MySQL本身? 這是一些連接到數據庫的外部應用程序(就像Marc B問......是這個PHP?)。 – MER
我正在MySQL工作臺上工作 –