MySQL Workbench редактировать данные таблицы только для чтения


при попытке редактировать данные таблицы в MySQL Workbench 5.2.37, его в режиме только для чтения.

Он доступен для редактирования только в том случае, если таблица имеет первичный ключ.

есть ли исправление для работы с таблицей без первичного ключа??

спасибо

в качестве одного из предложений я попытался обновить WB 5.2.40. Но все же этот вопрос существует.. Может ли кто-нибудь помочь, пожалуйста..

11 51

11 ответов:

Я предполагаю, что таблица имеет первичный ключ. Сначала попробуйте запустить команду разблокировать таблицы, чтобы увидеть, если это исправляет его.

Если все остальное не удается, вы можете изменить таблицу, чтобы создать новый столбец первичного ключа с автоматическим приращением, и это, надеюсь, исправит его. Как только вы закончите, вы сможете удалить столбец без каких-либо проблем.

Как всегда, вы хотите сделать резервную копию перед изменением таблиц вокруг. :)

Примечание: MySQL workbench не может работать без первичный ключ, если это ваша проблема. Однако если у вас есть таблица "многие ко многим", вы можете установить оба столбца в качестве первичных ключей, которые позволят вам редактировать данные.

Если таблица не имеет первичного ключа или уникального не-nullable определенного, то MySQL workbench не может редактировать данные.

Если вы установили схему по умолчанию для вашего подключения к БД, то выберите будет работать в режиме только для чтения, пока вы не установите явно свою схему

USE mydb;
SELECT * FROM mytable

это также будет работать в режиме редактирования:

SELECT * FROM mydb.mytable 

(MySql 5.2.42 / MacOsX)

Я надеюсь, что это помогает.

Это известное ограничение в MySQLWorkbench (вы не можете редактировать таблицу без PK):

для редактирования таблицы:

Способ 1: (метод не работает в некоторых случаях)
щелкните правой кнопкой мыши таблицу в Обозревателе объектов и выберите оттуда опцию редактировать данные таблицы.

Способ 2:
Я бы скорее предложил вам добавить первичный ключ вместо этого:

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

и вы могли бы сначала нужно удалить существующие строки:

Truncate table your_table_name

в MySQL Workbench вам нужен индекс для редактирования, не нужно, чтобы он был PK (хотя добавление PK также является решением).

вы можете сделать обычный индекс или составной индекс. Это все, что MySQL WB должен исправить только для чтения (у меня есть V. 6.2 с MariaDB V. 10.1.4):

просто щелкните правой кнопкой мыши таблицу, выберите " Изменить таблицу..."затем перейдите на вкладку "индексы". В левой панели поместите пользовательское имя для вашего индекса, а в средней панели отметьте один (убедитесь, что vale будет уникальным) или больше полей (просто убедитесь, что комбинация уникальна)

по данным эта ошибка, проблема была исправлена в Workbench 5.2.38 для некоторых людей и, возможно, 5.2.39 для других-can you обновление до последней версии (5.2.40)?

кроме того, можно обойти с помощью:

SELECT *,'' FROM my_table

наведение указателя мыши на значок "только для чтения" в mysql workbench показывает подсказку, которая объясняет, почему он не может быть отредактирован. В моем случае он сказал, что можно редактировать только таблицы с первичными ключами или уникальными столбцами, не имеющими значения null.

Я получал проблему только для чтения, даже когда я выбирал первичный ключ. В конце концов я понял, что это была проблема с корпусом. По-видимому, столбец PK должен быть покрыт так же, как определено в таблице. использование: workbench 6.3 на windows

Только Для Чтения

выберите leadid, "имя", "фамилия", выполните команду из свинца;

разрешено редактировать

выберите LeadID, "имя", "фамилия", выполните команду из свинца;

руководствуясь сообщением Манитобы, я нашел другое решение. В качестве резюме, решения:

  1. С помощью команды

    USE mydb;
    SELECT * FROM mytable
    
  2. с явным префиксом схемы:

    SELECT * FROM mydb.mytable
    
  3. GUI

    на панели "схемы" обозревателя объектов все значки базы данных изначально не выделяются, если у вас есть такая же проблема. Таким образом, вы можете щелкнуть правой кнопкой мыши на значке базы данных, который вы хотели бы использовать по умолчанию, выберите "Установить по умолчанию схема."

1.)Вы должны сделать первичный ключ уникальный, то вы должны быть в состоянии изменить.

щелкните правой кнопкой мыши на вашей таблице в" синих " схемах - >ALTER TABLE, найдите свой ключ primert (PK), затем просто установите флажок, UN, AI уже должен быть проверен. После этого просто применить, и вы должны быть в состоянии редактировать данные таблицы.

2.)Вы также должны включать в себя ключевые примеры я ваш оператор SELECT

Nr 1 на самом деле не нужно, но хорошая практика.

Если ваш запрос имеет какие-либо соединения, Mysql Workbench не позволит вам изменить таблицу, даже если ваши результаты все из одной таблицы.

например, следующий запрос

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

не позволит вам редактировать результаты или добавлять строки, даже если результаты ограничены одной таблицей. Вы должны специально сделать что-то вроде:

SELECT * FROM users WHERE id=1012;

и после этого вы можете редактировать и добавлять строки в таблицу.