IT박스

MySQL Workbench Edit Table Data는 읽기 전용입니다.

itboxs 2020. 10. 27. 07:56
반응형

MySQL Workbench Edit Table Data는 읽기 전용입니다.


MySQL Workbench 5.2.37에서 테이블 데이터 편집을 시도 할 때 읽기 전용 모드입니다.

테이블에 기본 키가있는 경우에만 편집 할 수 있습니다.

기본 키가없는 테이블을 처리하는 수정 사항이 있습니까 ??

감사

제안 중 하나로 WB 5.2.40 업그레이드를 시도했습니다. 하지만 여전히이 문제는 존재합니다 .. 누구라도 도와 주시겠습니까?.


테이블에 기본 키가 있다고 가정합니다. 먼저 잠금 해제 테이블 명령을 실행하여 문제가 해결되는지 확인하십시오.

다른 모든 방법이 실패하면 테이블을 변경하여 자동 증가 기능이있는 새 기본 키 열을 만들 수 있습니다. 완료되면 문제없이 열을 제거 할 수 있습니다.

항상 그렇듯이 테이블을 변경하기 전에 백업을 만들고 싶습니다. :)

참고 : MySQL 워크 벤치는 문제인 경우 기본 키없이 작동 할 수 없습니다. 그러나 다 대다 테이블이있는 경우 두 열을 모두 데이터를 편집 할 수있는 기본 키로 설정할 수 있습니다.


테이블에 기본 키가 없거나 고유하지 않은 nullable이 정의되지 않은 경우 MySql 워크 벤치는 데이터를 편집 할 수 없습니다.


DB 연결에 대한 기본 스키마를 설정하면 스키마를 명시 적으로 설정할 때까지 Select가 읽기 전용 모드로 실행됩니다.

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 워크 벤치에서 "읽기 전용"아이콘 위로 마우스를 가져 가면 편집 할 수없는 이유를 설명하는 툴팁이 표시됩니다. 제 경우에는 기본 키 또는 고유하지 않은 nullable 열이있는 테이블 만 편집 할 수 있습니다.


MySQL Workbench에서는 편집 할 INDEX가 필요하며 PK 일 필요는 없습니다 (PK 추가도 솔루션 임).

일반 INDEX 또는 복합 INDEX를 만들 수 있습니다. 이것이 바로 MySQL WB가 읽기 전용 문제를 해결하는 데 필요한 전부입니다 (MariaDB v. 10.1.4와 함께 v. 6.2가 있습니다).

표를 마우스 오른쪽 버튼으로 클릭하고 "표 변경 ..."을 선택한 다음 "색인"탭으로 이동하십시오. 왼쪽 창에 인덱스에 대한 사용자 지정 이름을 입력하고 중간 창에서 하나 (밸리가 고유한지 확인) 또는 더 많은 필드 (조합이 고유한지 확인)를 선택합니다.


기본 키를 선택할 때도 읽기 전용 문제가 발생했습니다. 결국 케이스 문제라는 것을 알게되었습니다. 분명히 PK 열은 테이블에 정의 된 것과 동일해야합니다. 사용 : Windows의 워크 벤치 6.3

읽기 전용

리드 ID, 이름, 성, 리드에서 만든 날짜 선택;

허용 된 편집

리드 ID, 이름, 성, 리드에서 만든 날짜 선택;


이 버그 에 따르면 문제는 일부 사용자의 경우 Workbench 5.2.38에서, 다른 사용자의 경우 5.2.39에서 수정되었습니다 . 최신 버전 (5.2.40)으로 업그레이드 할 수 있습니까?

또는 다음과 같이 해결할 수 있습니다.

SELECT *,'' FROM my_table

매니토바의 게시물에 따라 다른 해결책을 찾았습니다. 요약하면 솔루션은 다음과 같습니다.

  1. USE 명령 사용

    USE mydb;
    SELECT * FROM mytable
    
  2. 명시적인 스키마 접두사 사용 :

    SELECT * FROM mydb.mytable
    
  3. GUI

    개체 브라우저 "SCHEMAS"창에서 동일한 문제가있는 경우 모든 데이터베이스 아이콘이 처음에 강조 표시되지 않습니다. 따라서 기본값으로 사용하려는 데이터베이스 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "기본 스키마로 설정"을 선택합니다.


1.) 기본 키를 고유하게 만들어야 편집 할 수 있습니다.

"파란색"스키마-> ALTER TABLE에서 테이블을 마우스 오른쪽 버튼으로 클릭하고 프라이머 키 (PK)를 찾은 다음 확인란을 선택합니다. UN, AI가 이미 선택되어 있어야합니다. 그 후에 적용하면 테이블 데이터를 편집 할 수 있습니다.

2.) 당신은 또한 당신의 선택 문에 프라이 머리 키를 포함해야합니다

Nr 1 is not really necessary, but a good practice.


If your query has any JOINs, Mysql Workbench will not allow you to alter the table, even if your results are all from a single table.

For example, the following query

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

will not allow you to edit the results or add rows, even though the results are limited to one table. You must specifically do something like:

SELECT * FROM users WHERE id=1012;

and then you can edit the row and add rows to the table.

참고URL : https://stackoverflow.com/questions/10815029/mysql-workbench-edit-table-data-is-read-only

반응형