SQL Fiddleで扱ってきた難解な問題のいくつかに興味がある人のための少しの背景:
JDBCで明示的なコミットを無効にするか、SQLで検出するか、データベースを読み取り専用状態にします (dba.se)
基本的に、私は、人々がフィドルで遊んでいるときでも、フィドルが常に一貫した状態に保たれるように努めています。私が心配していることの1つは、人々が意図的にデータベースをいじって、データベースを操作している可能性のある他の人々のためにデータベースを壊してしまうことです(これは以前に発生しましたが、幸いなことではありません)。
データベースプラットフォームごとに物事をクリーンに保つ方法を見つけましたが、興味深いことに、各方法はプラットフォームごとに完全に異なります。残念ながら、MySQLの場合、最悪のオプションに頼らざるを得ませんでした。右側でのみSELECTを許可していました。これは、暗黙のコミットを含むクエリを作成する方法が多すぎるためであり、クエリ側で完全に拒否されない限り、それが発生するのを防ぐ方法がないことがわかりました。これは非常に残念なことですが、必要なようです。
とにかく、この特定のバグは、MySQLのロジックに最近加えた変更の結果でした。現在修正されており、予想されるエラーメッセージが報告されるようになりました: