首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一个关于组合外键的有关问题

2012-02-28 
一个关于组合外键的问题!Create Table Zadb.dbo.GX_GPHZ_BAK2008(YyyymmChar(6)Not Null,TypeChar(1)Defau

一个关于组合外键的问题!
Create Table Zadb.dbo.GX_GPHZ_BAK2008
(
YyyymmChar(6)Not Null,
TypeChar(1)Default '',
GpdNoNumeric(7)Not Null
Constraint GX_GPHZ_BAK2008_PK Primary Key(Yyyymm,Gpdno)
)

Create Table Zadb.dbo.GX_GPMX_BAK2008
(
YyyymmChar(6)Not Null,
GpdNoNumeric(7)Not Null,
TxmNoChar(20) Default '',
Gx_noChar(2)Not Null
Constraint GX_GPMX_BAK2008_PK Primary Key(Yyyymm,Gpdno,Gx_no)
Constraint GX_GPMX_BAK2008_FK Foreign Key(Yyyymm,Gpdno) References Zadb.dbo.GX_GPHZ_BAK2008(Yyyymm,Gpdno)
)

结果建表时出现这句话:

消息 8140,级别 16,状态 0,第 9 行
在表 'Zadb.dbo.GX_GPMX_BAK2008' 的列级别 FOREIGN KEY 约束中指定了多个键。

我看SQLSERVER语法是允许建组合外键的,但为什么会出现这情况。请高手帮忙看看。




[解决办法]
Constraint GX_GPMX_BAK2008_PK Primary Key(Yyyymm,Gpdno,Gx_no), <--这里少了个逗号
Constraint GX_GPMX_BAK2008_FK Foreign Key(Yyyymm,Gpdno) References Zadb.dbo.GX_GPHZ_BAK2008(Yyyymm,Gpdno)

热点排行