SQL用于具有多对多关系的复选框

时间:2011-12-07 14:25:04

标签: sql

我有三张桌子。

董事:

Directors
ID 
First Name
Last Name

薄膜:

Films
Film ID
Title
Total

董事到膜

Director-to-Films
Director ID
Film ID

导演到电影存储这样的ID:

Director ID  Film ID
1       1   
1       2
1       3
1       4

我列出的电影有复选框。

如何进行SQL更新,使表格如下所示:

Director ID  Film ID
1       1   
1       3

(即电影“2”和“4”被删除)或

Director ID  Film ID
1       1   
1       2
1       3
1       4
1       5

(即电影“5”被添加到导演“1”)?

1 个答案:

答案 0 :(得分:1)

除非我遗漏了某些内容,否则您正在寻找的SQL只是删除和插入:

delete Directors_to_Films where Director_ID = 1 and Film_ID in (2,4);

insert into Directors_to_Films (Director_ID, Film_ID) values (1,5);

这假设您在创建UI时,您正在获取相应的ID并将它们与控件相关联。


澄清最后一句话:如果我理解正确,你正在显示这部电影,然后是一个董事列表,旁边有一些复选框。用户可以检查一个或多个框。如果这是正确的,那么,大概是,您正在从数据库中检索导向器列表。同时,您应该检索关联的ID并将其存储在复选框的属性中。当需要更新数据库时,请询问该值的复选框控件,以确定要更新的数据库的哪一行。