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