0

基本的なauto-incPK「id」フィールドと「type」フィールドを含むテーブル「comments」があります。別のテーブルでは、comments.idにCONSTRAINTを適用し、type値に固定値を使用して「type」も適用する参照整合性が必要です。

例:テーブル「question_comments_rate」で、「comment_id」を「comments」テーブルのフィールド「id」として存在させたい[これは簡単な部分です]また、「type」列が「question」と等しいことも確認します。

これは存在しますか?この制約宣言をどのように書くことができますか?

これは「条件付き制約」のようなものです。「comment_id」フィールドは「comments.id」として存在する必要があるだけでなく、「comments」テーブルのこの「id」も「type」が「question」と等しい行である必要があります。 "(または他の指定された値)..。

問題が明確であることを願っています。私はあなたの助け/フィードバックでそれをより明確にするかもしれません。ありがとう。

4

1 に答える 1

3

これはCHECK制約であり、MySQLのマニュアルには次のように書かれています。

句は解析されますが、CHECKすべてのストレージエンジンで無視されます。

代わりに、挿入/更新時にトリガーを作成して、健全性チェックを実施することができます。

または、あなたの場合、type列のデータ型を作成しENUM('question')て、他の値をとらないようにすることができます(ただし''、すべてのENUM型が無効な値に設定されている場合など)。

于 2012-05-01T09:03:51.047 に答える