Ms access MS Access:用于更新表中列的SQL

Ms access MS Access:用于更新表中列的SQL,ms-access,Ms Access,我在access数据库中有下表 id VisitNo Weight 1 1 100 1 2 95 1 3 96 1 4 94 1 5 93 现在删除第2行和第4行。所以我 id VisitNo Weight 1 1 100 1 3 96 1 5 93 然而我需

我在access数据库中有下表

id  VisitNo     Weight      
1   1           100
1   2           95
1   3           96
1   4           94
1   5           93
现在删除第2行和第4行。所以我

id  VisitNo     Weight      
1   1           100
1   3           96
1   5           93
然而我需要的是

id  VisitNo     Weight      
1   1           100
1   2           96
1   3           93
我需要什么样的SQL查询来完成上述任务

谢谢

您不应该真正“重新组织”数据库中的密钥。如果以关系方式使用数据库,则可以从另一个表中引用VisitNo,作为将权重信息链接到您在访问中持有的其他信息的方式。此链接称为关系,ID称为主键,表中某一行的主键不应更改,因为它会打断其他表中的任何引用(这些引用称为外键)

虽然在VisitNo序列中必须中断看起来很好而且“整洁”,但在删除记录时,这并不是正确的过程

但是,不,这一课是不可能的,这里是如何更改VisitNo的,假设它根本不是一个键,而是一段用户数据(即,我第一次访问健身房,第二次访问健身房,第三次访问健身房)

如果运行此查询(用表名替换tblMyTable),您将看到RowNumber列实际上是重新编号的VisitNo。您可以使用此数据返回到您的表中。。。尽管在这方面,您的表结构有一个小问题。您需要表上的主键为每一行提供一个独特的句柄:

recordid    id  VisitNo     Weight      
1           1   1           100
2           1   2           95
3           1   3           96
4           1   4           94
5           1   5           93
如果不这样做,您将很难根据表更新新的VisitNo,如下所示:

recordid    id  VisitNo     Weight      
1           1   1           100
3           1   3           96
5           1   5           93
recordid    id  VisitNo     Weight      
1           1   1           100
3           1   2           96
5           1   3           93
在你改变它之后,它会是这样的:

recordid    id  VisitNo     Weight      
1           1   1           100
3           1   3           96
5           1   5           93
recordid    id  VisitNo     Weight      
1           1   1           100
3           1   2           96
5           1   3           93
您不应该真正“重新组织”数据库中的密钥。如果以关系方式使用数据库,则可以从另一个表中引用VisitNo,作为将权重信息链接到您在访问中持有的其他信息的方式。此链接称为关系,ID称为主键,表中某一行的主键不应更改,因为它会打断其他表中的任何引用(这些引用称为外键)

虽然在VisitNo序列中必须中断看起来很好而且“整洁”,但在删除记录时,这并不是正确的过程

但是,不,这一课是不可能的,这里是如何更改VisitNo的,假设它根本不是一个键,而是一段用户数据(即,我第一次访问健身房,第二次访问健身房,第三次访问健身房)

如果运行此查询(用表名替换tblMyTable),您将看到RowNumber列实际上是重新编号的VisitNo。您可以使用此数据返回到您的表中。。。尽管在这方面,您的表结构有一个小问题。您需要表上的主键为每一行提供一个独特的句柄:

recordid    id  VisitNo     Weight      
1           1   1           100
2           1   2           95
3           1   3           96
4           1   4           94
5           1   5           93
如果不这样做,您将很难根据表更新新的VisitNo,如下所示:

recordid    id  VisitNo     Weight      
1           1   1           100
3           1   3           96
5           1   5           93
recordid    id  VisitNo     Weight      
1           1   1           100
3           1   2           96
5           1   3           93
在你改变它之后,它会是这样的:

recordid    id  VisitNo     Weight      
1           1   1           100
3           1   3           96
5           1   5           93
recordid    id  VisitNo     Weight      
1           1   1           100
3           1   2           96
5           1   3           93

为什么?对“VisitNo”列重新编号会有什么好处,真的吗?为什么?对“VisitNo”列重新编号,真的有什么好处?不起作用,替换了相应的表名和列名,我将不得不重新思考我的方法,感谢回复。不起作用,替换了相应的表名和列名,我将不得不重新思考我的方法,感谢回复。