為什麼我的MySQL預設值設定沒有生效?
P粉752479467
P粉752479467 2023-08-31 15:07:35
0
1
551

我的MOVIE_RATING的預設值似乎不起作用。有人可以告訴我查詢有什麼問題或幫我修復它嗎?非常感謝。

建立表MOVIE ( MOVIE_ID int(7) NOT NULL UNIQUE, MOVIE_NAME Varchar(20), MOVIE_RELEASE_DATE date, MOVIE_RATING Varchar(5) DEFAULT 'NR', CHECK (MOVIE_RATING = 'G'OR MOVIE_RATING = 'PG' OR MOVIE_RATING = 'PG-13' OR MOVIE_RATING = 'R' OR MOVIE_RATING = 'NC'), primary key (MOVIE_ID) );

P粉752479467
P粉752479467

全部回覆 (1)
P粉727531237

@Zolan Noir,當值為'NR'時,你沒有檢查Move Rating。所以,如果你想使用預設值,當然會觸發錯誤,因為你已經定義了對電影評分欄位的約束CHECK,但是在檢查時沒有'NR'值。

NB:CHECK將建立一個約束,但是在你的CHECK約束中沒有檢查字段Movie Rating上的值"NR"。除非你不在電影評分上加上CHECK,否則你寫的程式碼都是正確的。

哦,最後一件事,請移除電影ID上的not null和UNIQUE約束,因為你將該欄位定義為主鍵。這沒有用處,因為主鍵將建立索引約束,具有與唯一性和非空性相似的特性。

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!