ホームページ >データベース >mysql チュートリアル >MySQL CHECK 制約が機能しないのはなぜですか?

MySQL CHECK 制約が機能しないのはなぜですか?

DDD
DDDオリジナル
2025-01-10 12:16:41853ブラウズ

Why Are My MySQL CHECK Constraints Not Working?

MySQL CHECK 制約の問題のデバッグ

「Customer」テーブル内の「SD」列に CHECK 制約を実装すると、制約に違反しても MySQL がエラーを報告しないことがあります。これは多くの場合、MySQL のバージョンが原因です。

MySQL の CHECK 制約のサポートはバージョン 8.0.16 から始まりました。 古いバージョンでは CHECK 句は処理されますが、事実上無視されます。 解決策は、MySQL 8.0.16 以降のリリースにアップグレードすることです。

アップグレード後も問題が解決しない場合は、回避策としてトリガーの使用を検討してください。 トリガーは挿入操作を監視し、制約に違反するデータをデータベースに保存する前に修正できます。

以上がMySQL CHECK 制約が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。