获取错误:
当前选择不包含唯一列。网格编辑, 复选框,编辑,复制和删除功能不可用。
如何在多个表生成的视图中获取唯一字段?
当前选择不包含唯一列。网格编辑,复选框,编辑,复制和删除功能不可用。
答案 0 :(得分:1)
这比phpmyadmin更通用,但对“Updatable and Insertable Views”有一些限制。这是要点:
对于可更新的视图,视图中的行与基础表中的行之间必须存在一对一的关系。
然后更具体地说明多表视图:
有时可以更新多表视图,假设可以使用MERGE算法进行处理。为此,视图必须使用内部联接(不是外部联接或UNION)。
还有其他限制,即使在单个表视图上也会阻止更新/插入:
更具体地说,如果视图包含以下任何内容,则视图不可更新:
聚合函数(SUM(),MIN(),MAX(),COUNT()等)
DISTINCT
GROUP BY
HAVING
UNION或UNION ALL
选择列表中的子查询
某些联接(请参阅本节后面的其他联接讨论)
引用FROM子句中的nonupdatable视图
WHERE子句中引用FROM子句中的表的子查询
仅指文字值(在这种情况下,没有要更新的基础表)
ALGORITHM = TEMPTABLE(使用临时表总是使视图无法更新)
对基表的任何列的多次引用