我正在學習MySQL事務。我已經搜索了這個答案,但他們似乎都使用PHP來做我想做的工作。下面是我想要做的例子:如何判斷mysql插入是否成功
- 開始事務
- 更新表1
- 插入到表2
- 如果插入成功, 一個。然後插入到Table3中並提交。 b。否則回滾事務。
我不明白如何以編程方式確定在步驟3插入是否成功。當然,我可以查詢表格並查看,但我認爲有一些方法可以使用返回值,但似乎只有在我使用PHP來執行事務時纔有效。
這是我想要的代碼塊 - 這是行不通的:
begin;
start transaction;
-- attempt to reduce inventory
update store_inventory set item_qty = item_qty - 2 where id = 1;
update store_inventory set item_qty = item_qty -1 where id = 5;
-- insert the order record and check whether it succeded
insert into store_orders (purchaser_name, purchase_date)
values ('test user', now());
-- if successful, do final insert and commit
if Row_Count() > 0 Then
insert into store_inventory (order_id, inventory_id, item_qty)
values (1, 1, 2),
(1, 2, 1);
commit;
else -- otherwise rollback
rollback;
end if;
end;
您使用什麼語言和適配器來嘗試和執行這些操作? – 2013-04-07 04:16:20
我正在使用MySQL Workbench查詢編輯器。 – 2013-04-07 04:22:10
因此,您正試圖查看插入是否在以下查詢中成功? – 2013-04-07 04:23:07