2

http://imgur.com/IZgvl

みなさん、こんにちは。私はWileyのMySQL管理者の聖書からMySQLを学んでいます(排他的に、PHPの経験はまだありません)。私が出てきたエラーのいずれかがあなたにとって子供の遊びであるように思われる場合は、事前に謝罪しますが、私の勉強を磨くためにここに来ても害はないと思いました...

ですから、ここで追いかけているだけです。私は、ACID準拠のトランザクションの「原子性」と「一貫性」の側面を自分自身に示しようとしました。かなり基本的です。しかし、アカウントID 2から存在しない「3」に送金することでエラーを強制しようとすると、トランザクションは以前の状態に戻ることを拒否し、私がコミットした後、貧しいハドソンは$5000不足しています。なぜそうなのか誰かが指摘できますか?ありがとう!

ここで常連になるのを楽しみにしています、

-MyPreQL

4

2 に答える 2

3

トランザクションでまだCOMMITを実行しました。エラーが発生した場合は、代わりにロールバックする必要があります。

于 2012-04-16T21:37:17.683 に答える
2

また。そして、これは些細なことですが、言及されておらず、それでもよくある間違いです。テーブルがMyIsamではなくエンジンタイプinnoDBであることを確認してください。そうしないと、これらのコミットとロールバックはすべて正常に見えますが、MyIsamはトランザクションをサポートしておらず、ACIDに準拠できないため、効果がありません:)

于 2012-04-17T04:11:54.513 に答える