Al intentar Editar datos de tabla en MySQL Workbench 5.2.37, está en modo de solo lectura.
Solo se puede editar si la tabla tiene una clave principal.
¿Hay alguna solución para tratar con la tabla sin clave principal?
Gracias
Como una de las sugerencias, intenté actualizar WB 5.2.40. Pero aún existe este problema ... ¿Podría alguien ayudar por favor ...?
mysql
mysql-workbench
EscalinNancy
fuente
fuente
Respuestas:
Supongo que la tabla tiene una clave principal. Primero intente ejecutar un comando de desbloqueo de tablas para ver si eso lo soluciona.
Si todo lo demás falla, puede modificar la tabla para crear una nueva columna de clave principal con incremento automático y, con suerte, eso debería solucionarlo. Una vez que haya terminado, debería poder eliminar la columna sin ningún problema.
Como siempre, desea hacer una copia de seguridad antes de modificar las tablas. :)
Nota: MySQL workbench no puede funcionar sin una clave principal si ese es su problema. Sin embargo, si tiene una tabla de muchos a muchos, puede establecer ambas columnas como claves primarias, lo que le permitirá editar los datos.
fuente
Si la tabla no tiene una clave principal o una única no anulable definida, entonces MySql workbench no podría editar los datos.
fuente
Si establece un esquema predeterminado para su conexión de base de datos, Select se ejecutará en modo de solo lectura hasta que establezca explícitamente su esquema
USE mydb; SELECT * FROM mytable
esto también se ejecutará en modo de edición:
SELECT * FROM mydb.mytable
(MySql 5.2.42 / MacOsX)
Espero que esto ayude.
fuente
Esta es la limitación conocida en MySQLWorkbench (no puede editar la tabla sin PK):
Para editar la tabla:
Método 1: (el método no funciona en algunos casos)
haga clic con el botón derecho en una tabla dentro del Explorador de objetos y elija la opción Editar datos de tabla desde allí.
Método 2:
prefiero sugerirle que agregue la clave principal en su lugar:
ALTER TABLE `your_table_name` ADD PRIMARY KEY (`column_name`);
y es posible que desee eliminar las filas existentes primero:
Truncate table your_table_name
fuente
Al pasar el cursor sobre el icono de "solo lectura" en mysql workbench, se muestra una información sobre herramientas que explica por qué no se puede editar. En mi caso, decía, solo se pueden editar las tablas con claves primarias o columnas únicas que no aceptan valores NULL.
fuente
En MySQL Workbench, necesita un ÍNDICE para editar, no es necesario que sea PK (aunque agregar un PK también es una solución).
Puede hacer un INDICE regular o un INDICE compuesto. Eso es todo lo que MySQL WB necesita para solucionar el problema de solo lectura (tengo v. 6.2 con MariaDB v. 10.1.4):
Simplemente haga clic derecho en la tabla, seleccione "Modificar tabla ..." y luego vaya a la pestaña "Índices". En el panel izquierdo, coloque un nombre personalizado para su índice, y en el panel central marque uno (asegúrese de que el valor sea único) o más campos (solo asegúrese de que la combinación sea única)
fuente
Estaba teniendo el problema de solo lectura incluso cuando estaba seleccionando la clave principal. Eventualmente descubrí que era un problema de carcasa. Aparentemente, la columna PK debe estar en mayúsculas y minúsculas de la misma manera que se define en la tabla. usando: Workbench 6.3 en Windows
Solo lectura
SELECCIONE ID de plomo, nombre, apellido, fecha de creación DESDE el cliente potencial;
Edición permitida
SELECCIONE ID de cliente potencial, nombre, apellido, fecha de creación DESDE el cliente potencial;
fuente
De acuerdo con este error , el problema se solucionó en Workbench 5.2.38 para algunas personas y quizás 5.2.39 para otras. ¿Se puede actualizar a la última versión (5.2.40)?
Alternativamente, es posible solucionarlo con:
SELECT *,'' FROM my_table
fuente
SELECT *, CONCAT('','') FROM my_table
. ¿Quizás eso funcione para usted?Guiado por la publicación de Manitoba, encontré otra solución. Como resumen, las soluciones son:
Con un comando USE
USE mydb; SELECT * FROM mytable
Con un prefijo de esquema explícito:
SELECT * FROM mydb.mytable
GUI
En el panel "ESQUEMAS" del Explorador de objetos, todos los iconos de la base de datos inicialmente no están resaltados si tiene el mismo problema. Para que pueda hacer clic con el botón derecho en el icono de la base de datos que desea que sea el predeterminado, seleccione "Establecer como esquema predeterminado".
fuente
1.) Tiene que hacer que la clave principal sea única, entonces debería poder editarla.
haga clic derecho en su tabla en los esquemas "azules" -> ALTER TABLE, busque su clave principal (PK), luego marque la casilla de verificación, UN, la IA ya debería estar marcada. Después de eso, simplemente aplique y debería poder editar los datos de la tabla.
2.) También debe incluir la clave básica en su declaración de selección
El número 1 no es realmente necesario, pero es una buena práctica.
fuente
Si su consulta tiene JOIN, Mysql Workbench no le permitirá alterar la tabla, incluso si sus resultados son todos de una sola tabla.
Por ejemplo, la siguiente consulta
SELECT u.* FROM users u JOIN passwords p ON u.id=p.user_id WHERE p.password IS NULL;
no le permitirá editar los resultados o agregar filas, aunque los resultados se limitan a una tabla. Debe hacer específicamente algo como:
SELECT * FROM users WHERE id=1012;
y luego puede editar la fila y agregar filas a la tabla.
fuente
SELECT u.* FROM users u WHERE u.id IN (SELECT user_id FROM passwords WHERE p.password IS NULL);
Desmarque la marca de verificación, habilitará la edición de la cuadrícula
fuente
MySQL se ejecutará en modo de solo lectura cuando recupere uniendo dos tablas y las columnas de dos tablas se incluyen en el resultado. Entonces no puede actualizar los valores directamente.
fuente
Sí, encontré que MySQL tampoco puede editar tablas de resultados. Por lo general, las tablas de resultados que se unen a otras tablas no tienen claves principales. Escuché que otros sugirieron colocar la tabla de resultados en otra tabla, pero la mejor solución es usar Dbeaver, que puede editar tablas de resultados.
fuente