Esc*_*ncy 73 mysql mysql-workbench
在MySQL Workbench 5.2.37中尝试编辑表数据时,它处于只读模式.
仅当表具有主键时,它才可编辑.
有没有主键处理表的任何修复?
谢谢
作为建议之一,我尝试升级WB 5.2.40.但这个问题仍然存在..可以任何人帮助请...
Tho*_*s B 67
我假设桌子有一个主键.首先尝试运行unlock tables命令以查看是否修复了它.
如果所有其他方法都失败了,您可以更改表以创建具有自动增量的新主键列,并希望能够修复它.一旦完成,您应该能够毫无问题地删除该列.
一如既往,您希望在更改表格之前进行备份.:)
注意:如果这是您的问题,MySQL工作台无法在没有主键的情况下工作.但是,如果您有多对多表,则可以将两列都设置为主键,以便您编辑数据.
小智 13
如果为数据库连接设置默认架构,则Select将以只读模式运行,直到您明确设置架构为止
USE mydb;
SELECT * FROM mytable
Run Code Online (Sandbox Code Playgroud)
这也将在编辑模式下运行:
SELECT * FROM mydb.mytable
Run Code Online (Sandbox Code Playgroud)
(MySql 5.2.42/MacOsX)
我希望这有帮助.
这是MySQLWorkbench中的已知限制(您无法编辑没有PK的表):
方法1 :( 方法不在某些情况下工作)
右键单击对象浏览器中的表,然后从中选择"编辑表数据"选项.
方法2:
我宁愿建议您添加主键:
ALTER TABLE `your_table_name` ADD PRIMARY KEY (`column_name`);
Run Code Online (Sandbox Code Playgroud)
并且您可能希望首先删除现有行:
Truncate table your_table_name
Run Code Online (Sandbox Code Playgroud)
小智 5
即使我选择主键,我也遇到了只读问题。后来我发现是外壳问题。显然,PK 列的大小写必须与表中定义的相同。使用:Windows 上的工作台 6.3
只读
SELECT
leadid,
firstname,
lastname,
datecreated
FROM
lead;
Run Code Online (Sandbox Code Playgroud)
允许编辑
SELECT
LeadID,
firstname,
lastname,
datecreated
FROM
lead;
Run Code Online (Sandbox Code Playgroud)