投稿したリンク Nerdへのコメントとして-Herdの回答はdeferredを使用しています 制約。これらの制約は、ステートメントの実行時ではなく、トランザクションの終了時にチェックされます。 MySQLは遅延制約をサポートしていません 延期された制約がどうしても必要で、オープンソースデータベースを使い続けたい場合は、PostgreSQLに移行する必要があります。