「オールオアナッシング」を行うためにトランザクションを実行する必要がありますが、そこに到達するのにいくつか問題があります。
次の例では、3 番目の INSERT が失敗しますが、最初の 2 つが挿入されます。問題は、私がすべてを行うか、何もしない必要があるということです。または、すべてを挿入するか、何も挿入しません。
MySQLでこれを行うにはどうすればよいですか? 私はInnoDBを使用しています。
START TRANSACTION;
insert into t_orders (id_order, date_begin, date_end) values ('1', '2012-9-08', '2012-9-16');
insert into t_orders_items (id_order, id_order_item, id_item, item_quantity) values ('1', '1', '2', '1');
insert into t_orders_items (id_order, id_order_item, id_item, item_quantity) values ('1', '1', '3', '1');
COMMIT;
いくつかの手がかり?
よろしくお願いします、