为什么sql update会在数据库(C#)中创建新行?

时间:2018-09-04 08:07:59

标签: c# mysql asp.net asp.net-mvc

我正在我自己的asp.net mvc项目上工作,但在更新mysql数据库时遇到了一些问题。

我的数据库中有一个带有以下列的表:(帐户,名字,姓氏,生日,电话号码,个人资料图片)所有这些都是varchar列,该表称为“用户个人资料”。

在这里您可以看到表格中的一行。 https://imgur.com/a/86z68Om

每次我尝试更新任何列时,主键列都会出现重复的主键错误,因为更新命令尝试创建新行。

在这里您可以看到我的C#代码以进行更新: https://imgur.com/a/h2uNzSD

它有点复杂,但是没有用,所以我决定通过更改它使其更简单,以便我可以测试它是否有效。如果我是正确的,我会很好地使用语法,而且我真的不知道为什么更新方法要在数据库中创建新行。

你有什么主意吗?

1 个答案:

答案 0 :(得分:0)

我的一位同事遇到了同样的问题,该ID不是自动生成的。您可以将其添加到班级的Id属性中。 (DatabaseGenerated(DatabaseGeneratedOption.Identity)])。

要手动处理此(粗略)=>请指定先前的ID号以确保已更新。

但是可以肯定的是您要插入表格中。