Mam tabelę user_passwords:
user_password_id AI PK
hashPass varchacr(255)
Kiedy użytkownik resetuje swoje hasło, chcę zaktualizować wiersz, a więc to powinien, i zawiedzie:
insert into user_passwords (user_password_id,hashedPassword)
VALUES("2","$2y$11$pVYR/0hcgOewMn2jgrGx.uGcky5TXxYOPvsbWGyH3VQxZlj3c1QD.")
Error Code: 1062. Duplicate entry "2" for key "PRIMARY"
Wiem o tym, więc próbuję następujących elementów, ale żadne wiersze nie są aktualizowane:
insert into user_passwords (user_password_id,hashedPassword)
VALUES("2","$2y$11$pVYR/0hcgOewMn2jgrGx.uGcky5TXxYOPvsbWGyH3VQxZlj3c1QD.")
on duplicate key update hashedPassword=hashedPassword
Dlaczego?
Odpowiedzi:
3 dla odpowiedzi № 1Szukasz tego:
on duplicate key update hashedPassword = VALUES(hashedPassword)
zobacz także dokumenty tutaj: http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html