MySQL Workbench编辑表数据是只读的

Esc*_*ncy 73 mysql mysql-workbench

在MySQL Workbench 5.2.37中尝试编辑表数据时,它处于只读模式.

仅当表具有主键时,它才可编辑.

有没有主键处理表的任何修复?

谢谢

作为建议之一,我尝试升级WB 5.2.40.但这个问题仍然存在..可以任何人帮助请...

Tho*_*s B 67

我假设桌子有一个主键.首先尝试运行unlock tables命令以查看是否修复了它.

如果所有其他方法都失败了,您可以更改表以创建具有自动增量的新主键列,并希望能够修复它.一旦完成,您应该能够毫无问题地删除该列.

一如既往,您希望在更改表格之前进行备份.:)

注意:如果这是您的问题,MySQL工作台无法在没有主键的情况下工作.但是,如果您有多对多表,则可以将两列都设置为主键,以便您编辑数据.

  • 实际上我的问题本身我不想在我的表中有主键.请参阅这个问题的其他答案. (4认同)
  • 我不认为你在MYSQL工作台中做了什么是可能的,因为程序需要一个主键来指向你想要编辑的行. (2认同)

小智 28

如果表没有定义主键或唯一的非可空,则MySql工作台无法编辑数据.

  • 2018年和WB仍然无法编辑未加密的表格. (3认同)
  • 2019和WB仍然无法编辑未加密的表格。 (3认同)

小智 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)

我希望这有帮助.


小智 6

将鼠标悬停在 mysql 工作台中的“只读”图标上会显示一个工具提示,解释为什么它不能被编辑。就我而言,它说,只能编辑具有主键或唯一不可为空列的表。


Jer*_*yal 6

这是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)