洪章桔 2017-03-16 15:46 采纳率: 0%
浏览 961

SQL 基础命令问题 insert

create table 学生表
(学号 nchar(10) primary key,
姓名 nchar (8) check (len(姓名)>=2 and len(姓名)<=5),
专业名 nchar(20),
性别 nchar(2) default '男' check(性别='男' or 性别='女'),
出生日期 smalldatetime,
入校成绩 nchar(3) check (入校成绩 between 200 and 700),
照片 image,
备注 nvarchar(500))
create table 课程表
(课程号 nchar(3) primary key check (课程号 like '[0-9][0-9][0-9]'),
课程名称 nchar(10),
任课老师 nchar(10),
学分 nchar(10))
create table 成绩表
(学号 nchar(10) ,
课程号 nchar(3) ,
成绩 nchar(100) check (成绩 between 0 and 100),
foreign key (学号) references 学生表(学号),
foreign key (课程号) references 课程表(课程号))
Insert into 成绩表(学号,课程号,成绩) values ('1111111','222','66')

错误提示 :图片说明消息 547,级别 16,状态 0,第 1 行
INSERT 语句与 FOREIGN KEY 约束"FK__成绩表__学号__12C8C788"冲突。该冲突发生于数据库"MYDATEBASE",表"dbo.学生表", column '学号'。
语句已终止。

  • 写回答

2条回答

  • 广哥教打杂 2017-03-17 01:05
    关注

    你“成绩表”的[学号]字段与“学生表”中的[学号]存在约束,并且“成绩表”中的 [课程号]与“课程表”中的[课程号]存在约束。
    所以,你在插入"成绩表"之前,应该先确定“学生表”和"课程表"中的数据是否正确。

    正确写法是:

     Insert into 学生表(学号,姓名) values('1111111','张三')
    Insert into 课程表(课程号,课程名称) values('222','语文')
    Insert into 成绩表(学号,课程号,成绩) values ('1111111','222','66')
    
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?