为什么我的MySQL默认值设置没有生效?
P粉752479467
P粉752479467 2023-08-31 15:07:35
[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 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约束,因为你将该字段定义为主键。这没有用处,因为主键将建立一个索引约束,具有与唯一性和非空性相似的特性。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号