6

MySQL を使用し、PHP フロント エンドで使用されるアプリケーションを継承しました。このシステムを書いた人は、ユーザーが入力するコードが有効であることを保証するためにかなり複雑な努力をしました。つまり、これらのコードは別のテーブルにも存在するということです。

これを最初に見たとき、なぜ彼は CHECK 制約を使用せず、dbms にこれを整理させなかったのか疑問に思いました。dbms の 1 か所だけではなく、同じチェックを実装するさまざまなプログラムがたくさんあるというビジョンがあります。そして、MySQL がチェック制約をサポートしていないことがわかりました (厳密にはそうではありません。構文はサポートされていますが、無視されているだけです)。

MySQL でチェック制約を実装する方法はありますか?

ヒント、提案などは素晴らしいでしょう。

4

1 に答える 1

5

トリガーを使用してそれらに似たものを実装できますが、MySQL 自体 (バージョン 8.0.16 より前) は CHECK 制約をサポートしていません。ただし、心配しないでください。それらを定義して、黙って無視することができます!

于 2009-04-01T16:03:43.403 に答える