CREATE TABLE Student ( Sno char(10) not null PRIMARY KEY(Sno),--学号,主键 Sname varchar(10) not null, --姓名 Ssex char (2) not null DEFAULT '男',--性别,默认男 Sage smallint,--年龄 Sdept char(12),--院系名称 ); insert into Student values('20001','钱横','男','18','信息学院') insert into Student values('20002','王琳','女','19','信息学院') insert into Student values('20003','李民','男','20','管理学院') insert into Student values('20004','赵三','男','16','数理学院') insert into Student values('20005','张立','男','22','土木学院') insert into Student values('20006','曹莉','女','17','数理学院') insert into Student values('20007','孙慧','女','21','土木学院') insert into Student values('20008','王敏','女','19','信息学院')为什么插入信息不匹配
时间: 2023-08-16 20:09:42 浏览: 245
在这个 SQL 语句中,创建了一个名为 Student 的表,然后使用 insert into 语句向表中插入了八条记录。其中,每条记录都包含五个字段的值,分别是 Sno、Sname、Ssex、Sage 和 Sdept。
根据您提供的 SQL 语句,我发现 PRIMARY KEY(Sno) 这行代码有问题,应该改为 PRIMARY KEY (Sno),即主键定义后面需要加空格。因为 Sno 是主键,所以在插入数据时,Sno 的值不能重复,否则就会出现插入信息不匹配的问题。
您可以将 SQL 语句修改为以下格式,再执行插入操作:
```
CREATE TABLE Student (
Sno char(10) not null PRIMARY KEY,
Sname varchar(10) not null,
Ssex char(2) not null DEFAULT '男',
Sage smallint,
Sdept char(12)
);
insert into Student values('20001','钱横','男',18,'信息学院');
insert into Student values('20002','王琳','女',19,'信息学院');
insert into Student values('20003','李民','男',20,'管理学院');
insert into Student values('20004','赵三','男',16,'数理学院');
insert into Student values('20005','张立','男',22,'土木学院');
insert into Student values('20006','曹莉','女',17,'数理学院');
insert into Student values('20007','孙慧','女',21,'土木学院');
insert into Student values('20008','王敏','女',19,'信息学院');
```
这样执行后,就不会出现插入信息不匹配的问题了。
阅读全文