You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

学生项目在线咖啡店注册报错:SET子句中'phoneNumber'列重复指定

解决注册表单中的phoneNumber重复列错误

嘿,这个问题我之前帮好几个开发者解决过,咱们直接来拆解一下:

错误原因

这个报错The column name 'phoneNumber' is specified more than once in the SET clause说白了就是:你处理注册第二页的后端SQL更新语句里,重复设置了phoneNumber列两次(或多次)。数据库没法判断该用哪个值去更新,所以直接抛出了未处理异常。

排查修复步骤

  • 先找到处理注册第二页提交的后端代码(比如控制器里的提交方法,或者数据访问层的更新逻辑),定位到执行数据库更新的那一段
  • 如果是手写的原生SQL,检查SET子句部分,比如有没有类似这样的错误:
    UPDATE Customers SET phoneNumber = @inputPhone, phoneNumber = @anotherPhone, email = @userEmail
    
    这里phoneNumber被写了两次,删掉其中重复的就行
  • 如果用的是ORM框架(比如Entity Framework),那大概率是你在更新实体对象时,不小心给phoneNumber属性赋值了两次,或者实体模型的映射配置里重复定义了这个列
  • 另外也可以检查前端表单:有没有两个同名的phoneNumber输入框?如果有的话,后端接收时会把两个值都传到更新逻辑里,导致重复设置

额外提示

这种错误大多是复制粘贴代码时手滑,或者表单字段命名重复导致的,排查起来很快。修复后记得重新测试注册流程,确保能正常提交到第二页且不报错。

内容的提问来源于stack exchange,提问作者Itzik

火山引擎 最新活动