Xampp で Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available. と表示される SERIAL 編

Xampp で Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available. と表示されることがあります。

この状態では、各テーブル/カラムの内容を編集できません。

これがなぜ表示されるかというと、テーブルのデータを明確にする "ユニーク" が設定されていないため、「どのテーブルのどのカラムがどれで、どれをどうするの?」というのが SQL 上で明確にならないためです。

今回は カラムを追加し、そのカラムに SERIAL(または BIGNIT )を付与する方法です。このデータは重複することがないのでユニークとして扱われます。新たにカラムを追加しますが、mySQL 上で自動入力されるため振り直す必要がないので楽です。また php を触る必要はほぼありません。

170127 XamppCurrent selectionError1.jpg
1, 上の方に Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available. というのが見えると思います。
また、テーブルの表示も
―――――――――――――――
+ オプション
name - address - tel - date
#### - #### - #### - ####(各データ)
―――――――――――――――
と表示され、編集できないのが見えます。

170127 XamppCurrent selectionError2.jpg
2, 構造を開いて、中段のあたり、
「1 個のカラムを追加する at beginning of table」 実行
として、カラムを一つ追加してください。
追加する位置はどこでも良いのですが、わかりやすいように一番上が良いでしょう。
「実行」をクリックして新しいカラムを追加してください。

170127 XamppCurrent selectionError3.jpg
3, 次にコラムの構造を決めますが、code、SERIAL としてください。SERIAL はそのデータは一つに一つしか当てられずに重複しないものが自動的に形成されるので、これでそのデータが特定できることになります。
「保存」してください。

170127 XamppCurrent selectionError4.jpg
4, 「保存」すると自動的に表層に戻ります。code という欄が頭に増えて番号が自動的に 1 から振られているのが見えます。どれか「編集」を選ぶと、編集モードに変わります。

170127 XamppCurrent selectionError5.jpg
5, ちなみに今回は「Ushi」を選びました。電話番号を 「070」から「0123456789」に変更します。「実行」をクリックします。
(実はこの段階で code の データ型が bignit(20) unsigned になっているのが見えますが、Serial は Bignit のエイリアスです)。

170127 XamppCurrent selectionError6.jpg
6, 表層でデータの tel が 0123456789 に変わっているのがわかると思います。

--------------------

追記

170127 XamppCurrent selectionError7.jpg
7, 追記ですが、php のプログラムは変えていませんが無事に動いています。新しく 4 番で Simajirou を追加しました。

================================================= 

今回の Xampp のバージョンはこちらです。
http://team-nekotarou.xyz/wp/2017/01/06/xampp-のバージョン/

Xampp はバージョンによって操作が変わりますので、御使いのバージョンに合わせて行ってください。

Copyright , © 鯖や SQL いろいろ, ALL right reserved