1

我有一个没有主键的表。我想做的就是查看数据。我不想编辑它。然而,每当我运行这个查询......

SELECT * FROM TableThatHasNoPrimaryKey  

MySQL Workbench(版本 5.2.36 v8542,在 Ubuntu 10.04 64 位上运行)给了我这个错误......

table data is not editable because there is no primary key defined for the table

这是一个错误吗?此查询在 MySQL 浏览器上显示数据很好。

4

7 回答 7

6

SELECT * FROM (SELECT * FROM TableWithNoPrimaryKey) 作为 tmp

于 2013-03-18T14:14:07.983 回答
1

另一种解决方法

select *, char_length('') from tableName

在 select 语句中使用函数可以解决这个问题

于 2014-05-21T13:28:43.400 回答
0

我在网上找到了这个:

尝试使用以下命令启动工作台:

"mysql-workbench --log-level=debug3"

这是一个错误,请看这里:

http://bugs.mysql.com/bug.php?id=62893

如果没有,你将不得不添加一个主键,看看这个论坛

MYSQL和python错误

于 2012-05-31T13:11:26.937 回答
0

我将此用作解决方法:

DROP TEMPORARY TABLE IF EXISTS TempTableThatHasNoPrimaryKey;

CREATE TEMPORARY TABLE TempTableThatHasNoPrimaryKey
SELECT *
FROM TableThatHasNoPrimaryKey;

SELECT * FROM TempTableThatHasNoPrimaryKey

出于某种奇怪的原因,这有效......

于 2012-06-21T11:16:46.207 回答
0

要在mysql 工作台中以编辑模式打开表,您的表中需要有一个主键列。否则它始终只能以读取模式打开。

于 2015-12-22T07:04:12.513 回答
0

如果您只需要从表中获取数据,您可以Views为此创建。

于 2015-12-22T07:14:39.533 回答
0

重新启动工作台为我修复了它。

于 2016-11-17T19:01:56.597 回答