為什麼我的MySQL預設值設定沒有生效?
P粉752479467
P粉752479467 2023-08-31 15:07:35
0
1
614
<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 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) );</pre></p>
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約束,因為你將該欄位定義為主鍵。這沒有用處,因為主鍵將建立索引約束,具有與唯一性和非空性相似的特性。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板