更新多行C#数据库

时间:2014-03-05 16:42:10

标签: c# ms-access sql-update

我正在尝试更新一个有 network_name 的表,比如说LOAD表。表格网络也具有相同的列, network_name 。现在,如果在表格网络上更新了相同的值,我将如何更新表LOAD上的值?

LOAD

network_name | product code |
-------------+--------------+
Talk & Text  | aaaaaaaaaaa
Talk & Text  | aaaaaaaaaaa
Touch Mobile | aaaaaaaaaaa

网络

network_id |network_name | network code |
-----------+-------------+--------------+
12235      |Talk & Text  | aaaaaaaaaaa
23343      |Smart        | aaaaaaaaaaa
34343      |Touch Mobile | aaaaaaaaaaa

现在,如果将Talk N Text更改为TalkText,我将如何更新Load表?

2 个答案:

答案 0 :(得分:1)

将主要/ ID列添加到“加载”:

load_id | network_name   |  product_code |
--------+----------------+---------------+
0       | talk & text    | aaaaaaaaaaaa  |
1       | touch & mobile | aaaaaaaaaaaa  |
2       | smart          | aaaaaaaaaaaa  |

来自NETWORK的参考load_id:

network_id | load_id  |  network_code |
-----------+----------+---------------+
12235      | 0        | aaaaaaaaaaaa  |
23343      | 2        | aaaaaaaaaaaa  |
34343      | 1        | aaaaaaaaaaaa  |

将所有更新应用于“加载”并使用SQL链接结果。

答案 1 :(得分:0)

在规范化数据库中,network_name实际上并不属于LOAD表,因为它的数据与NETWORK实体相关。

如果LOAD表需要与NETWORK表有关系,那么不要在LOAD表中使用network_name列,而是使用network_id列。

现在,如果network_name发生更改但LOAD和NETWORK表仍然存在关系,则只需更新NETWORK表。

如果要进一步规范化,那么可以在LOAD表中添加load_id列,从LOAD表中删除network_id,然后创建一个新表,该表只包含NETWORK和LOAD之间的关系(即带有network_id的表)和load_id列)但是你是否这样做是由你的问题域决定的。