我已经定义了 员工表的[编号]是主键 ,上班时间表的主键是[员工编号],
但是我不会定义外键了,是在上班时间表中定义关系如下:主键是上班时间的员工编号,与之对应外键是员工表的编号
--
这么定义,把上班时间表中的编号既做为主键,又做为外键
可是我员工表中员工只有001和002,可是我在上班时间表中天下员工008的上班时间,却是可以添加保存,
为什么,我添加关系错了,还是没有启用那里??我用的是sql2005
--
应该不可能吧,仔细看看,是不是把员工表中的编号做为了上班时间表的外键了
但是我不会定义外键了,是在上班时间表中定义关系如下:主键是上班时间的员工编号,与之对应外键是员工表的编号
--
这么定义,把上班时间表中的编号既做为主键,又做为外键
可是我员工表中员工只有001和002,可是我在上班时间表中天下员工008的上班时间,却是可以添加保存,
为什么,我添加关系错了,还是没有启用那里??我用的是sql2005
--
应该不可能吧,仔细看看,是不是把员工表中的编号做为了上班时间表的外键了
[编号] -- PK
,[姓名]
...table 考勤记录
[LogID] -- PK
,[员工编号] -- FK
,[LoginTime]
,[LogoutTime]table 上班时间
[员工编号] -- PK, FK
,[上班时长]
,[上班日期]
--
员供表中没有编号008,确能添加到上班时间表,说名你没有外键外键约束吧,下边是一个简单的例子。
create table tb1
(
id int primary key,
name varchar(20),
)
create table tb2
(
id int primary key,
time datetime
constraint FK_tb1_id FOREIGN KEY(id) REFERENCES tb1(id)
)
go
insert into tb1 values(001,'aa')
insert into tb1 values(002,'bb')
insert into tb2 values(008,getdate())
错误信息如下:
消息 547,级别 16,状态 0,第 1 行
INSERT 语句与 FOREIGN KEY 约束"FK_tb1_id"冲突。该冲突发生于数据库"sjk",表"dbo.tb1", column 'id'。
语句已终止。