我已经在部门中建立了一个与员工,他们的部门,加入日期和退出日期相关的数据表。每个员工都可以拥有多个部门。因此我不能拥有主键。那么我该如何为此编写更新查询。我正在使用DataGridView来更新表。请帮忙。
答案 0 :(得分:1)
主键的唯一目的是区分一行与另一行。而已。你真的应该有一个PK。您甚至不必将其显示给用户。它可以像Row_Id
那样通用。 PK的重点是数据库将其用作每行的唯一标识符,因此最好只使用自动递增的整数。
如果您没有主键,那么您至少需要某种独特的约束来区分一行和下一行。否则,您无法可靠地SELECT
或UPDATE
给定行。
答案 1 :(得分:0)
我认真建议您添加Employee_Id
主键,因为它很容易使用Id(唯一)进行更新。您无法使用姓名,部门等进行更新。
您可以通过以下方式设置表的主键:
Dim table As New DataTable()
table.Columns.Add(New DataColumn("Employee_Id"))
Dim primaryKey(1) As DataColumn
primaryKey(1) = table.Columns("Employee_Id")
table.PrimaryKey = primaryKey
并使用此Employee_Id
答案 2 :(得分:0)
您需要在此处拥有多个表格。一个表只包含员工信息,一个表包含部门信息,一个表包含employeeID,departmentID和加入/退出日期。一张桌子就不够了。
修复数据库结构,然后再担心如何更新数据库结构。