外键的问题?

chenzhr 2004-11-25 12:52:13
我有表:
CREATE TABLE [dbo].[T_Mail] (
[MailID] [int] IDENTITY (1, 1) NOT NULL ,
[UserID] [int] NOT NULL ,
[SendFrom] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Attchments] [bit] NOT NULL ,
[MailSubject] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[MailBoby] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[MailPriority] [int] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[T_MailAttchment] (
[AttachmentID] [int] NOT NULL ,
[MailID] [int] IDENTITY (1, 1) NOT NULL ,
[UserID] [int] NOT NULL ,
[FileLength] [int] NOT NULL ,
[FileName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FileContent] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[ReceiveTime] [datetime] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

在设置外键 T_Mail.MailID --> T_MailAttachment.MailID 选择级联删除和更新时出错.

出错信息如下:
'T_Mail' 表成功保存
'T_MailAttchment' 表
- 不能创建关系 'FK_T_MailAttchment_T_Mail'。
ODBC 错误: [Microsoft][ODBC SQL Server Driver][SQL Server]无法创建级联外键 'FK_T_MailAttchment_T_Mail',该处的引用列 'T_MailAttchment.MailID' 为标识列。
[Microsoft][ODBC SQL Server Driver][SQL Server]未能创建约束。请参阅前面的错误信息。


...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinsonshen 2004-11-25
  • 打赏
  • 举报
回复
对,把标识列去掉
pbsql 2004-11-25
  • 打赏
  • 举报
回复
已经提示清楚了,你将T_MailAttachment.MailID设计成了标识列,当然会出错,把标识属性去掉即可
chenzhr 2004-11-25
  • 打赏
  • 举报
回复
谢了, pbsql(风云).
接分!
pbsql 2004-11-25
  • 打赏
  • 举报
回复
CREATE TABLE [dbo].[T_MailAttchment] (
[AttachmentID] [int] NOT NULL ,
[MailID] [int] NOT NULL ,--*******************这里呀
[UserID] [int] NOT NULL ,
...
chenzhr 2004-11-25
  • 打赏
  • 举报
回复
老大,如何去掉呀?我是新手.

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧