97

MySQL Workbench 5.2.37 でテーブル データを編集しようとすると、読み取り専用モードになります。

テーブルに主キーがある場合にのみ編集可能です。

主キーのないテーブルを処理するための修正はありますか??

ありがとう

提案の 1 つとして、WB 5.2.40 をアップグレードしてみました。しかし、それでもこの問題は存在します..誰か助けてください..

4

15 に答える 15

92

テーブルには主キーがあると仮定しています。まず、テーブルのロック解除コマンドを実行して、問題が解決するかどうかを確認してください。

他のすべてが失敗した場合は、テーブルを変更して、自動インクリメントを使用して新しい主キー列を作成できます。これで問題が解決することを願っています。完了したら、問題なく列を削除できるはずです。

いつものように、テーブルを変更する前にバックアップを作成する必要があります。:)

注: MySQL ワークベンチは、それが問題である場合、主キーがないと機能しません。ただし、多対多のテーブルがある場合は、両方の列を主キーとして設定して、データを編集できます。

于 2012-07-01T16:21:44.950 に答える
17

DB 接続のデフォルト スキーマを設定すると、スキーマを明示的に設定するまで、Select は読み取り専用モードで実行されます。

USE mydb;
SELECT * FROM mytable

これは編集モードでも実行されます。

SELECT * FROM mydb.mytable 

(MySql 5.2.42 / MacOSX)

これが役立つことを願っています。

于 2012-08-23T14:42:25.917 に答える
10

これはMySQLWorkbench の既知の制限です (PK なしでテーブルを編集することはできません)。

テーブルを編集するには:

方法 1: (方法が機能しない場合もあります)
オブジェクト ブラウザ内のテーブルを右クリックし、そこから [テーブル データの編集] オプションを選択します。

方法 2:
代わりに主キーを追加することをお勧めします。

ALTER TABLE `your_table_name` ADD PRIMARY KEY (`column_name`);

最初に既存の行を削除したい場合があります。

Truncate table your_table_name
于 2016-03-04T10:54:08.457 に答える
7

mysql ワークベンチの「読み取り専用」アイコンにカーソルを合わせると、編集できない理由を説明するツールチップが表示されます。私の場合、主キーまたは一意のnull不可の列を持つテーブルのみを編集できます。

于 2013-10-08T10:51:04.843 に答える
3

MySQL Workbench では、編集するために INDEX が必要ですが、PK である必要はありません (ただし、PK を追加することも解決策です)。

通常の INDEX または複合 INDEX を作成できます。MySQL WB が読み取り専用の問題を修正する必要があるのはこれだけです (MariaDB v. 10.1.4 で v. 6.2 を使用しています)。

テーブルを右クリックして、[Alter table...] を選択し、[Indexes] タブに移動します。左側のペインでインデックスのカスタム名を入力し、中央のペインで 1 つ (値が一意であることを確認してください) または複数のフィールド (組み合わせが一意であることを確認してください) にチェックマークを付けます。

于 2015-11-13T13:42:50.860 に答える
1

このバグによると、Workbench 5.2.38 で問題が修正された人もいれば、おそらく 5.2.39 で修正された人もいます。最新バージョン (5.2.40) にアップグレードできますか?

または、次の方法で回避できます。

SELECT *,'' FROM my_table
于 2012-05-30T11:14:11.643 に答える
0

マニトバの投稿に導かれて、私は別の解決策を見つけました。要約すると、ソリューションは次のとおりです。

  1. USEコマンドを使用

    USE mydb;
    SELECT * FROM mytable
    
  2. 明示的なスキーマプレフィックスを使用する場合:

    SELECT * FROM mydb.mytable
    
  3. GUI

    オブジェクトブラウザの[スキーマ]ペインで、同じ問題が発生した場合、最初はすべてのデータベースアイコンが強調表示されません。したがって、デフォルトにしたいデータベースアイコンを右クリックして、[デフォルトスキーマとして設定]を選択します。

于 2012-11-19T22:34:13.223 に答える
0

クエリに JOIN がある場合、結果がすべて単一のテーブルからのものであっても、Mysql Workbench はテーブルを変更することを許可しません。

たとえば、次のクエリ

SELECT u.* FROM users u JOIN passwords p ON u.id=p.user_id WHERE p.password IS NULL;

結果が 1 つのテーブルに限定されていても、結果を編集したり、行を追加したりすることはできません。具体的には次のようなことをしなければなりません:

SELECT * FROM users WHERE id=1012;

その後、行を編集してテーブルに行を追加できます。

于 2015-03-24T03:40:37.180 に答える
-2

ここに画像の説明を入力

マークされたチェックをオフにすると、グリッド編集が有効になります

于 2020-04-20T19:38:46.757 に答える