MSSQL:更新行返回重复键错误

时间:2014-12-29 12:20:05

标签: php sql-server codeigniter

我正在使用CodeIgniter和MSSQL构建一个Web应用程序,但是当我尝试更新数据库中的一行时,我收到了“重复键”错误:

Error Number: 23000
Cannot insert duplicate key row in object 'dbo.users' with unique index 'IX_users'. 
The duplicate key value is (user@mail.com).

UPDATE users SET email='user@mail.com', name='User', surname='Surname', password='1234'

当我运行更新时,无论电子邮件字段是否保持不变,都会发生这种情况。我不是MSSQL的专家,但我没有看到更新行并保持唯一字段相同的问题。

我很乐意提供您可能需要的任何其他信息。

1 个答案:

答案 0 :(得分:1)

问题很简单,您要更新所有用户以获取相同的电子邮件

UPDATE users 
SET email='user@mail.com', name='User', surname='Surname', password='1234'

缺少WHERE子句。例如:

WHERE email='user@mail.com'