阿蛋蛋 2022-12-18 11:08 采纳率: 83.3%
浏览 64
已结题

sql为什么去掉完整性命令一直报1064错,求解

img

img

img


第一个图是要修改的表的语句

试了很多次了,只执行alter table student5没有错 但是drop constraint c4一直报错
第二个删除增加约束条件也是一直报错

  • 写回答

3条回答 默认 最新

  • wux_labs 2022-12-18 11:15
    关注

    在MySQL8,check约束是有效的,你的语句完全没有问题。
    在MySQL5中,check约束是无效的,因此就算建表语句中有check约束,在语法正确的情况下建表会成功,但check约束不会生效。
    建表成功。

    img

    但数据依然可以插入。

    img

    查询数据也正常。

    img

    原因比较简单,因为官方已经表明,check会被忽略。
    https://dev.mysql.com/doc/refman/5.7/en/create-table.html

    所有引擎都会忽略check。

    img

    既然check被忽略,则不会记录到数据库,所以drop自然报错。

    望采纳,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月18日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度