2018年9月19日水曜日

phpMyAdminでユニークキーを指定しているのに「Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.」と表示されてインライン編集ができなかったけど解決しました

select id,device_id,data from user where id = 10001


DB上の特定のユーザのデータを調整しようとして、こんな感じのSQLを書いたら、




こう表示されて、インライン編集ができませんでした。
エラーメッセージをググっても、「ユニークキーをつけろー」という解説しか見つかりません。
「id」はユニークキーどころかプライマリキーなのに、なんでこんなエラーが出るのかと困り果てていたら、ほんの些細なことが原因でした。


select id,device_id,data from `user` where id = 10001

phpMyAdminでは、デフォルトのSQL文ではテーブル名を、``で囲まれていますよね。それをつけてみました。




するとこのように、エラーが消え、インライン編集できるようになったのでした。

そういう挙動なのは理解できましたが、納得はできませんね。なんで必要だったんでしょうか?