【发布时间】:2012-12-15 08:45:39
【问题描述】:
我有 2 张桌子。
表电影
- 身份(PK)
- 标题
- 类型
表剧集
- 身份(PK)
- 剧集(PK)
- 标题
每部电影都有一些剧集。
电影
---------------------------------
| id | title | type |
|----|-------------|------------|
| 1 | movie1 | 3 episodes |
| 2 | movie2 | 2 episodes |
---------------------------------
剧集
----------------------------------------
| id | episode | title |
|----|-------------|-------------------|
| 1 | 1 | movie1 episode 1 |
| 1 | 2 | movie1 episode 2 |
| 1 | 3 | movie1 episode 3 |
| 2 | 1 | movie2 episode 1 |
| 2 | 2 | movie2 episode 2 |
----------------------------------------
如果我更新记录 id="1"(在两个表上),我经常使用:
表电影:
Update Movie set title='...', type='...' where id=1;
表剧集
Delete from Episode where id=1;
Insert into Episode(id, episode, title) values('...', '...', '...');
我认为更新 Table Episode 是一种愚蠢的方式。我只是想不出另一种更新记录的方法,考虑到用户可能会更改、添加或删除表上的某些记录,然后将所有更改保存到数据库。
有人有其他解决方案吗?
编辑:
例如。
用户对 Table Episode 进行了一些更改(仅 id=1)
Episode
----------------------------------------
| id | episode | title |
|----|-------------|-------------------|
| 1 | 1 | movie1 episode 1 |
| 1 | 2 | movie1 episode 1a |
| 1 | 3 | movie1 episode 2 |
| 1 | 4 | movie1 episode 3a |
| 1 | 5 | movie1 episode 3b |
----------------------------------------
如何将所有更改存储到数据库中?
【问题讨论】:
-
@Mahmoud Gamal 我想将所有值(在用户添加、编辑或删除之后)存储到数据库中。
标签: sql sql-server-ce crud