create database studentuse studentcreate table A
(
ID int identity(1,1) primary key,
Name varchar(20) not null,
Grade varchar(20)not null,
SchoolId int )insert into A values('张三','小一',4)
insert into A values('李四','初一',4)
insert into A values('王五','小二',5)
insert into A values('赵六','高三',5)
insert into A values('刘二','高二',4)
insert into A values('钱一','高一',2)
insert into A values('周三','高三',4)
insert into A values('郑武','初二',5)
insert into A values('吴六','高二',5)
insert into A values('孙七','高一',2)
insert into A values('王八','初一',3)
create table B
(
ID int identity(1,1) primary key,
SID int,
foreign key(SID) REFERENCES A(ID) ,
Tdate datetime not null ,
Thours int not null
)
insert into B(Tdate,Thours) values('2007-8-21',2)
insert into B(Tdate,Thours) values('2007-8-22',2)
以上是我创建的表A和表B,表B SID 是表AID的外键。,可是有问题高不明白,表B SID 不能插入值,受外键约束,还有一问题是不是主键和外键的数值是不是必须保持一致呢,请高手帮帮忙
(
ID int identity(1,1) primary key,
Name varchar(20) not null,
Grade varchar(20)not null,
SchoolId int )insert into A values('张三','小一',4)
insert into A values('李四','初一',4)
insert into A values('王五','小二',5)
insert into A values('赵六','高三',5)
insert into A values('刘二','高二',4)
insert into A values('钱一','高一',2)
insert into A values('周三','高三',4)
insert into A values('郑武','初二',5)
insert into A values('吴六','高二',5)
insert into A values('孙七','高一',2)
insert into A values('王八','初一',3)
create table B
(
ID int identity(1,1) primary key,
SID int,
foreign key(SID) REFERENCES A(ID) ,
Tdate datetime not null ,
Thours int not null
)
insert into B(Tdate,Thours) values('2007-8-21',2)
insert into B(Tdate,Thours) values('2007-8-22',2)
以上是我创建的表A和表B,表B SID 是表AID的外键。,可是有问题高不明白,表B SID 不能插入值,受外键约束,还有一问题是不是主键和外键的数值是不是必须保持一致呢,请高手帮帮忙
解决方案 »
- 建视图的问题(高效),救命啊!
- sql server 2005当删掉主表id为1的行时自动删除从表id为1的所有行,如何做?
- 复合查询问题,请高手帮忙!(帮顶有分)
- 菜鸟求教 如何设置全局变量?
- 求
- A 服务器上的数据库和B服务器上的数据库实现指定字段的同步
- 如何使用sql server获得当前计算机操作系统的版本
- 关于日期查询的问题
- 如何给SQL加密?
- zqllyh(您问我也问总可以问出个所以然),pengdali(大力)和j9988(j9988) 请进,这900分特别酬谢 5
- 请问SQL里, 用UPDATE如果更新多个字段的数据?
- sql server 分区表为何要创建文件组? 多个文件有什么好处?
b表中要插入sid字段的值,否则被外键约束了insert into B(sid,Tdate,Thours) values(2,'2007-8-21',2)
insert into B(sid,Tdate,Thours) values(2,'2007-8-22',2)
楼主先弄清楚主键和外键的关系,B表中SID的值必须是A表中ID的值相对应,否则就不能插入
插入b表的时间,必须要插入b表中sid字段的值,该值必须在a表中存在