0

これらの 2 つの行の状態は 1 に設定されています。それらを 0 に設定し、rollbackクエリの結果を視覚化したいと考えています。このクエリは仕事をします:

START TRANSACTION;
UPDATE jkm_content SET state=0 WHERE title IN ('001','002');
SELECT * FROM jkm_content WHERE title IN ('001','002'); 

-> 出力された行の状態は 0 に設定されます

ただし、開始トランザクションを閉じる方が良いですROLLBACKが、クエリが...

START TRANSACTION;
UPDATE jkm_content SET state=0 WHERE title IN ('258.txt','259.txt');
SELECT * FROM jkm_content WHERE title IN ('258.txt','259.txt');
ROLLBACK;

-> ... 出力された行の状態が 1 に設定されます (現在のセットではありませんstart transaction!)

クエリを で終了しても state=0 を出力するクエリはrollback何ですか?

4

1 に答える 1

0

ロールバックとは、トランザクションの開始時点に戻ることを意味します。開始トランザクションとロールバックの間に発生したすべてが破棄されます。保存チェックポイントまたは同様の機能が必要だと思います。(mysqlの下にあるかどうかはわかりません。)

于 2013-11-10T16:12:22.013 に答える