R.V*_*tor 0 sql sql-server-2008
这是我第一次使用SQL Server,我创建了这些表:
create table Department
(
D_Number int not null,
D_Name varchar(20),
D_MgrSSN int,
D_MgrDate datetime,
primary key(D_Number),
unique(D_Name),
)
create table Empolyee
(
E_SSN int not null,
E_FName varchar(20),
E_LName varchar(20),
E_Sex varchar(6),
E_BDate datetime,
E_Salary decimal(10,2),
E_Address varchar(50),
E_Department varchar(20),
E_SuperSSN int,
primary key(E_SSN),
foreign key(E_Department) references Department(D_Number),
)
Run Code Online (Sandbox Code Playgroud)
当我跑步时,我得到这个错误:
列"Department.D_Number"是不相同的数据类型为外键"FK_引用列"Empolyee.E_Department" Empolyee _E_Depa__0CBAE877".
Jon*_*onH 12
我个人认为SQL Server在错误消息方面做得非常出色,它告诉您确切需要修复的内容.
看看你定义的两个字段,一个是varchar(20)另一个是integer.
为了使外键与其主键匹配,它必须是相同的类型.要么改变既int或两者varchar.对您的商业模式有什么意义.
您的:
E_Department is varchar and D_Number is integer //thats the problem so make E_Department integer //same data type
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |