Mysql workbench数据库里数据只读不能修改删除添加,怎么弄
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql workbench数据库里数据只读不能修改删除添加,怎么弄相关的知识,希望对你有一定的参考价值。
mysql workbench数据库里数据只读不能修改删除添加,怎么弄
参考技术A 使用mysqladmin,这是前面声明的一个特例。mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你自己的密码了。追问
不是密码的问题,就是不能改数据,readonly了不能删除不能添加
参考技术B 可能时表数据锁死了1.第一种
使用命令 找到锁的进程:
show processlist;
kill id ;
2.第二种
UNLOCK TABLES;
3第三种
重启mysql 参考技术C 你是用workbench导入的数据吧 你试试用mysql命令行试试然后就会成apply
MySQL Workbench 编辑表数据是只读的
【中文标题】MySQL Workbench 编辑表数据是只读的【英文标题】:MySQL Workbench Edit Table Data is read only 【发布时间】:2012-06-04 14:44:16 【问题描述】:在 MySQL Workbench 5.2.37 中尝试编辑表数据时,它处于只读模式。
只有当表有主键时才可编辑。
没有主键的表有什么解决办法吗??
谢谢
作为我尝试升级 WB 5.2.40 的建议之一。但是这个问题还是存在的。。 有没有人可以帮忙..
【问题讨论】:
建议的问题都不起作用。我无法添加列然后将其删除。迁移到 phpMyadmin 是我现在的选择。 需要PK,这里有一个相关的FAQ -- dev.mysql.com/doc/workbench/en/… 可能与通过网络搜索找到此线程的人相关的 MySQL Workbench 错误:views' result grids are not editable。请注意,此错误仅适用于满足“updatable”所需的所有其他约束并且可以使用直接 SQL 查询进行修改的 视图。 【参考方案1】:我假设表有一个主键。首先尝试运行解锁表命令,看看是否可以修复它。
如果所有其他方法都失败了,您可以更改表以创建具有自动增量的新主键列,这有望修复它。完成后,您应该能够毫无问题地删除该列。
与往常一样,您希望在更改表格之前进行备份。 :)
注意:如果这是您的问题,MySQL 工作台无法在没有主键的情况下工作。但是,如果您有一个多对多表,您可以将两列都设置为主键,这样您就可以编辑数据。
【讨论】:
其实我的问题本身就是我不想在我的表中有主键。请参阅此问题的其他答案。 我认为您在 MYSQL 工作台中做不到,因为程序需要一个主键来确定您要编辑的行。 好的。谢谢托马斯。我的表中包含了主键。 我在使用 DBeaver 时遇到了同样的问题。断开再连接就解决了! 断开连接并再次连接也为我解决了这个问题!【参考方案2】:如果表没有定义主键或唯一的不可为空,则 MySql 工作台无法编辑数据。
【讨论】:
我想没有办法解决这个问题。 这是最好的答案。如果你可以改变表格,你可以设置PK允许编辑!【参考方案3】:如果您为数据库连接设置默认架构,则 Select 将以只读模式运行,直到您明确设置架构
USE mydb;
SELECT * FROM mytable
这也将在编辑模式下运行:
SELECT * FROM mydb.mytable
(MySql 5.2.42 / MacOsX)
我希望这会有所帮助。
【讨论】:
【参考方案4】:这是 MySQLWorkbench 中的Known limitation(您无法在没有 PK 的情况下编辑表):
编辑表格:
方法 1:(在某些情况下方法不起作用) 右键单击对象浏览器中的表,然后从那里选择编辑表数据选项。
方法二: 我宁愿建议您添加主键:
ALTER TABLE `your_table_name` ADD PRIMARY KEY (`column_name`);
你可能想先删除现有的行:
Truncate table your_table_name
【讨论】:
MySQL Workbench 的最新版本(我的是 6.3)没有“编辑表数据”选项。【参考方案5】:将鼠标悬停在 mysql 工作台中的“只读”图标上会显示一个工具提示,解释为什么它不能被编辑。就我而言,它说只能编辑具有主键或唯一不可为空列的表。
【讨论】:
你说的这个图标在哪里? 回答我自己:它位于工作台 6.3 上结果的下方和右侧【参考方案6】:即使我在选择主键时也遇到了只读问题。我最终发现这是一个外壳问题。显然,PK 列的大小写必须与表中定义的相同。使用:windows上的workbench 6.3
只读
选择leadid,firstname,lastname,datecreated FROMlead;
允许编辑
SELECT LeadID,firstname,lastname,datecreated FROM Lead;
【讨论】:
【参考方案7】:在 MySQL Workbench 中,您需要一个 INDEX 来编辑,不需要它是 PK(尽管添加 PK 也是一种解决方案)。
您可以创建常规 INDEX 或复合 INDEX。这就是 MySQL WB 修复只读问题所需的全部内容(我有 v. 6.2 和 MariaDB v. 10.1.4):
只需右键单击表格,选择“更改表格...”,然后转到“索引”选项卡。在左侧窗格中为您的索引输入一个自定义名称,并在中间窗格中选中一个(确保值是唯一的)或多个字段(只需确保组合是唯一的)
【讨论】:
【参考方案8】:根据this bug 的说法,该问题已在 Workbench 5.2.38 中对某些人进行了修复,对于其他人来说可能是 5.2.39 — 您可以将 upgrade 更新到最新版本 (5.2.40) 吗?
或者,可以使用以下解决方法:
SELECT *,'' FROM my_table
【讨论】:
感谢您这么快的回复..备用 SELECT 不起作用..但我可以升级..将升级并检查..非常感谢 egyal... @EscalinNancy:该错误报告中的另一个人评论说,另一种解决方法是使用函数,例如SELECT *, CONCAT('','') FROM my_table
。也许这对你有用?
不..它不起作用..我将 concat(''.'') 作为结果集中的另一列,但数据仍然是只读的..现在正在升级 WB
@EscalinNancy:我很遗憾听到这个消息 :( 这里的其他人可能更了解问题所在 - 但如果你不接受,他们更有可能会看到这个问题我的回答。
5.2.44也是一样的情况。该数据库是一个高效的数据库,在以前版本的工作台中运行良好。【参考方案9】:
如果您的表处于只读模式,则首先检查的是主键。如果没有定义主键,添加如下,
ALTER TABLE
scema_here
.table_name_here 添加主键 (your primary key here
);
干杯! :)
【讨论】:
【参考方案10】:在 Manitoba 的帖子的指导下,我找到了另一种解决方案。总而言之,解决方案是:
使用 USE 命令
USE mydb;
SELECT * FROM mytable
带有显式架构前缀:
SELECT * FROM mydb.mytable
图形界面
在对象浏览器的“SCHEMAS”窗格中,如果您遇到相同的问题,所有数据库图标最初都不会突出显示。所以你可以右键点击你想成为默认的数据库图标,选择“设置为默认模式”。
【讨论】:
【参考方案11】:1.)您必须使主键唯一,然后您应该可以进行编辑。
在“蓝色”模式中右键单击您的表 -> ALTER TABLE,查找您的primert key (PK),然后只需选中复选框,UN,AI 应该已经被选中。之后只需应用,您应该就可以编辑表格数据了。
2.)您还需要在您的选择语句中包含初级键
Nr 1 并不是真正必要的,而是一种好的做法。
【讨论】:
【参考方案12】:如果您的查询有任何 JOIN,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;
然后您可以编辑该行并将行添加到表中。
【讨论】:
我不明白为什么第一个查询不起作用,但至少以下查询有效。您可以编辑以下查询有效。SELECT u.* FROM users u WHERE u.id IN (SELECT user_id FROM passwords WHERE p.password IS NULL);
【参考方案13】:
当您通过连接两个表进行获取时,MySQL 将以只读模式运行,并且两个表中的列包含在结果中。那么你就不能直接更新值了。
【讨论】:
【参考方案14】:是的,我发现 MySQL 也无法编辑结果表。通常,连接其他表的结果表没有主键。我听说其他人建议将结果表放在另一个表中,但更好的解决方案是使用可以编辑结果表的 Dbeaver。
【讨论】:
【参考方案15】:取消选中标记的复选,它将启用网格编辑
【讨论】:
取消选中标记的检查,它将启用网格编辑:不工作 - Workbench 8.0以上是关于Mysql workbench数据库里数据只读不能修改删除添加,怎么弄的主要内容,如果未能解决你的问题,请参考以下文章
MySQL Workbench不能向表中添加数据,右键select rows 看不到可编辑的数据表,怎么办?
使用 DataGrip 或 WorkBench 从 AWS 转储到本地
在mysql workbench中,通过查询语句,为啥无法修改表中的数据?需要改啥设置吗?