ホームページ  >  に質問  >  本文

MySQL のデフォルト設定が有効にならないのはなぜですか?

<p>MOVIE_RATING のデフォルト値が機能しないようです。誰かがクエリの問題点を教えてくれたり、修正を手伝ってくれたりしませんか?どうもありがとう。 </p> <pre class="brush:php;toolbar:false;">テーブルの作成MOVIE ( MOVIE_ID int(7) NOT NULL UNIQUE、 MOVIE_NAME Varchar(20)、 MOVIE_RELEASE_DATE 日付、 MOVIE_RATING Varchar(5) DEFAULT 'NR', チェック (MOVIE_RATING = 'G' または MOVIE_RATING = 'PG' または MOVIE_RATING = 'PG-13' または MOVIE_RATING = 'R' OR MOVIE_RATING = 'NC')、 主キー (MOVIE_ID) );</pre></p>
P粉752479467P粉752479467414日前587

全員に返信(1)返信します

  • P粉727531237

    P粉7275312372023-09-01 11:53:25

    @Zolan Noir、値が「NR」の場合、移動評価をチェックしていません。したがって、デフォルト値を使用したい場合は、映画評価フィールドに制約 CHECK を定義しているため、当然エラーがトリガーされますが、チェック時に「NR」値がありません。

    NB: CHECK は制約を確立しますが、CHECK 制約のフィールド Movie Rating の値「NR」はチェックされません。映画の評価に CHECK を追加しない限り、作成したコードは正しいです。

    ああ、最後にもう 1 つ、ムービー ID フィールドを主キーとして定義したので、そのムービー ID に対する not null 制約と UNIQUE 制約を削除してください。主キーは一意性と非 null 可能性と同様のプロパティを持つインデックス制約を確立するため、これは役に立ちません。

    返事
    0
  • キャンセル返事