我有一张没有主键的表。我想做的就是查看数据。我不想编辑它。然而,每当我运行这个查询......
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浏览器上显示数据就好了。
答案 0 :(得分:6)
SELECT * FROM ( SELECT * FROM TableWithNoPrimaryKey )AS tmp
答案 1 :(得分:1)
另一种解决方法
select *, char_length('') from tableName
使用select语句中的函数解决问题
答案 2 :(得分:0)
我在网上发现了这个:
尝试使用以下方式启动工作台:
"mysql-workbench --log-level=debug3"
这是一个错误,看看这里:
http://bugs.mysql.com/bug.php?id=62893
如果没有,你将不得不添加一个主键,看看这个论坛
答案 3 :(得分:0)
我将其用作解决方法:
DROP TEMPORARY TABLE IF EXISTS TempTableThatHasNoPrimaryKey;
CREATE TEMPORARY TABLE TempTableThatHasNoPrimaryKey
SELECT *
FROM TableThatHasNoPrimaryKey;
SELECT * FROM TempTableThatHasNoPrimaryKey
由于一些奇怪的原因,这有效......
答案 4 :(得分:0)
要在 mysql workbench 中以编辑模式打开表,您需要在表中包含主键列。否则,它始终只在读取模式下打开。< / p>
答案 5 :(得分:0)
如果您只需要从表格中获取数据,则可以为此创建Views
。
答案 6 :(得分:0)
重新启动工作台为我修复了它。