社区
MS-SQL Server
帖子详情
两个表中的列相互参照的问题
yanransoft
2004-05-04 09:14:11
表一:topic(topicID(PK),firstPostID(FK))
表二:post(postID(PK),topicID(FK))
如果两个表都为空,这样一来,则任何一个表都无法插入数据。
因为需要相互参照。
又没有解决的办法或者是变通的方法。
...全文
89
2
打赏
收藏
两个表中的列相互参照的问题
表一:topic(topicID(PK),firstPostID(FK)) 表二:post(postID(PK),topicID(FK)) 如果两个表都为空,这样一来,则任何一个表都无法插入数据。 因为需要相互参照。 又没有解决的办法或者是变通的方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zheninchangjiang
2004-05-04
打赏
举报
回复
topic中的firstpostid可以不要用吧,假设你的postid为int型,那么topic取firstpostid为:
select postid from post a where postid=(select min(postid) from post where topicid=a.topicid)
再说有topic不一定会有post(就象这儿有发贴的,但不一定会有回贴,我猜是这回事)
zjcxc
元老
2004-05-04
打赏
举报
回复
根本就建立不了这种样的约束关系。
go数据库mysql与redis
外键:外键用于关联两个
表
。 复合键:复合键(组合键)将多个
列
作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库
表
中
的特定信息。索引是对数据库
表
中
一
列
或多
列
的值进行排序的一种结构。类似于...
5.2
参照
完整性
使用关键词定义外键。使用REFERENCES关键词指明外键对应的主键所在的
表
和
列
。
参照
完整性是关系数据库
中
的一种完整性约束,确保数据之间的一致性和引用关系的有效性。基本定义:
参照
完整性确保在一个
表
中
的外键必须匹配另一个
表
中
的主键或者是NULL。理解引用关系:想象一个学生注册系统。每个学生都在一个特定的专业
中
。在“学生”
表
中
,你可能有一个“专业ID”的字段作为外键,这个外键指向“专业”
表
中
的主键。“专业”
表
中
列
出了所有可能的专业。
索引-外键之
参照
完整性
思考两个
问题
:
问题
一:我们有两个
表
,一个
表
(department)存放的是部门的信息,例如部门id,部门名称等;另一个
表
是员工
表
(staff),员工
表
里面肯定要存放每个员工所在的部门。那
问题
来了,如果我们这个时候删除了部门
表
中
的某条记录,在staff
表
中
会发生什么?
问题
二:是否有必要给外键加索引。为了解答上面的
问题
,让我们先来回顾一下什么是
参照
完整性。其实,理解了第一个
问题
即
参照
完整性
问题
,第二个
数据结构
中
:两个
表
的关联-
表
的主键
在现实的数据库应用
中
,数据保存在多个相关联的
表
中
。基本上没有数据只存在一个
表
中
的情况。小的应用系统一般也有十几个
表
,大型系统一般有上千个
表
。 我们以学生成绩查询为例来讲解
表
的关联。除了Student
表
,这里我们需要新建成绩
表
,
表
Grade: Sno Cno Grade S01 C01 82
hibernate用注解(一对多,多对一)关联两个
表
的非主键
列
(非主属性)--详解,亲测
今天遇到两个
表
要
相互
关联,且两个
表
的关联字段都是非主属性的情况。 一般情况下我们是用: @ManyToOne(cascade={CascadeType.ALL}) @JoinColumn(name = "user_userId")。 public User getUser() { return user; } //这是Address类,需要与User类关...
MS-SQL Server
34,594
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章