我正在使用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的专家,但我没有看到更新行并保持唯一字段相同的问题。
我很乐意提供您可能需要的任何其他信息。
答案 0 :(得分:1)
问题很简单,您要更新所有用户以获取相同的电子邮件
UPDATE users
SET email='user@mail.com', name='User', surname='Surname', password='1234'
缺少WHERE子句。例如:
WHERE email='user@mail.com'