Welcome

カキノタ:IT-Life

パソコンやインターネット生活についてのブログ

未分類 #1062 - Duplicate entry for key 'PRIMARY'

投稿日:2016-10-15

phpMyAdminでは表題のエラー、Firebugには「Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064」というエラーが発生しました。

よくあるケースとしてプライマリキーが設定してあるフィールドに重複した値が入ったレコードをInsertした場合このエラーが出るのですが、私の場合Updateなのにこれが出て悩みました。

原因はwhere以降が抜けてしまっていたからでした。

× update `tbl` set ***
○ update `tbl` set *** where id = 1

where以降はif文で入れていたんですが、PHP7になり関数を変えたらオブジェクト型ではなく配列型になってしまいif文に引っかからなくてwhere以降が空になってました。