Heim  >  Fragen und Antworten  >  Hauptteil

Warum werden meine MySQL-Standardeinstellungen nicht wirksam?

<p>Mein Standardwert für MOVIE_RATING scheint nicht zu funktionieren. Kann mir jemand sagen, was mit der Abfrage nicht stimmt, oder mir helfen, das Problem zu beheben? Vielen Dank. </p> <pre class="brush:php;toolbar:false;">Tabelle MOVIE erstellen ( MOVIE_ID int(7) NOT NULL UNIQUE, MOVIE_NAME Varchar(20), Datum MOVIE_RELEASE_DATE, MOVIE_RATING Varchar(5) DEFAULT 'NR', CHECK (MOVIE_RATING = 'G'OR MOVIE_RATING = 'PG' ODER MOVIE_RATING = 'PG-13' ODER MOVIE_RATING = 'R' ODER MOVIE_RATING = 'NC'), Primärschlüssel (MOVIE_ID) );</pre></p>
P粉752479467P粉752479467414 Tage vor584

Antworte allen(1)Ich werde antworten

  • P粉727531237

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

    @Zolan Noir,当值为'NR'时,你没有检查Move Rating。所以,如果你想使用默认值,当然会触发错误,因为你已经定义了对电影评分字段的约束CHECK,但是在检查时没有'NR'值。

    NB:CHECK将建立一个约束,但是在你的CHECK约束中没有检查字段Movie Rating上的值"NR"。除非你不在电影评分上添加CHECK,否则你编写的代码都是正确的。

    哦,最后一件事,请移除电影ID上的not null和UNIQUE约束,因为你将该字段定义为主键。这没有用处,因为主键将建立一个索引约束,具有与唯一性和非空性相似的特性。

    Antwort
    0
  • StornierenAntwort