如何更新 SQL 服务器中的 Bridge table?
How to update the Bridge table in SQL Server?
我有三个 table tblSubject
、tblSubjectGroup
和 tblSubjectGroupDetails
。
tblSubject
table 有以下列:
subId (PK, char(36), not null)
subName (varchar(50), not null)
tblSubjectGroup
table 有这些列:
subGroupId (PK, char(36), not null)
subGroupName (varchar(50), not null)
tblSubjectGroupDetails
是上述table之间的桥梁table,它们具有多对多的关系:
subGroupId (FK, char(36), not null)
subId (FK, char(36), not null)
我将以下虚拟数据放入这些 table 中:
tblSubject:
英语、数学、物理、化学、科学、生物、经济学、地理、历史
tblSubjectGroup:
第 1 组、第 2 组、第 3 组
Group1
链接到 English, Mathematics and Biology
Group2
链接到 Geography, History and Economics
Group3
链接到 Physics, Chemistry and Science
在这里,我想用这些主题更新 Group2
:Geography, History, Science.
(插入和删除对我来说没问题,但我不知道如何更新桥table)
UPDATE tblSubjectGroupDetails
SET subId = '......'
WHERE subGroupId = '......'
以上语句将更改特定主题组的所有主题。我只想将 Group2 的经济学更改为科学。
对了,忘了说tblSubjectGroupDetails
有复合主键。
如何在 SQL 服务器中执行此操作?
I want to change only Economics to Science for Group2.
您的 where 子句中需要另一个条件,例如:
UPDATE tblSubjectGroupDetails SET subId = science_id
WHERE subGroupId = group_2_id
and subId = economics_id;
只需将 ID 替换为正确的值即可。
当然,如果您的 Group2 在 table.
中已经有一个科学主题记录,这将不起作用(会产生主键约束冲突)
我有三个 table tblSubject
、tblSubjectGroup
和 tblSubjectGroupDetails
。
tblSubject
table 有以下列:
subId (PK, char(36), not null)
subName (varchar(50), not null)
tblSubjectGroup
table 有这些列:
subGroupId (PK, char(36), not null)
subGroupName (varchar(50), not null)
tblSubjectGroupDetails
是上述table之间的桥梁table,它们具有多对多的关系:
subGroupId (FK, char(36), not null)
subId (FK, char(36), not null)
我将以下虚拟数据放入这些 table 中:
tblSubject:
英语、数学、物理、化学、科学、生物、经济学、地理、历史
tblSubjectGroup:
第 1 组、第 2 组、第 3 组
Group1
链接到English, Mathematics and Biology
Group2
链接到Geography, History and Economics
Group3
链接到Physics, Chemistry and Science
在这里,我想用这些主题更新 Group2
:Geography, History, Science.
(插入和删除对我来说没问题,但我不知道如何更新桥table)
UPDATE tblSubjectGroupDetails
SET subId = '......'
WHERE subGroupId = '......'
以上语句将更改特定主题组的所有主题。我只想将 Group2 的经济学更改为科学。
对了,忘了说tblSubjectGroupDetails
有复合主键。
如何在 SQL 服务器中执行此操作?
I want to change only Economics to Science for Group2.
您的 where 子句中需要另一个条件,例如:
UPDATE tblSubjectGroupDetails SET subId = science_id
WHERE subGroupId = group_2_id
and subId = economics_id;
只需将 ID 替换为正确的值即可。
当然,如果您的 Group2 在 table.
中已经有一个科学主题记录,这将不起作用(会产生主键约束冲突)