MySQL のデフォルト設定が有効にならないのはなぜですか?
P粉752479467
P粉752479467 2023-08-31 15:07:35
0
1
552

MOVIE_RATING のデフォルト値が機能しないようです。誰かがクエリの問題点を教えてくれたり、修正を手伝ってくれたりしませんか?どうもありがとう。

テーブルの作成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) );

P粉752479467
P粉752479467

全員に返信 (1)
P粉727531237

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

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

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

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!