是否可以在mysql视图中创建自动增量id列?

是否可以在mysql视图中创建自动增量id列?,mysql,Mysql,我已经在MySql中创建了一个视图。但现在我的要求是在该视图中创建一个Id列,它应该是自动递增的 我目前的看法是:- CREATE VIEW pending_assign_report_view AS select cg.group_name,c.client_name, wt.work_type,p.Minor_worktype, ay.year,aev.emp_name,ep.Date_assigned_on from employee_project ep,active_employe

我已经在MySql中创建了一个视图。但现在我的要求是在该视图中创建一个Id列,它应该是自动递增的

我目前的看法是:-

CREATE VIEW pending_assign_report_view AS
  select cg.group_name,c.client_name, wt.work_type,p.Minor_worktype, ay.year,aev.emp_name,ep.Date_assigned_on
from employee_project ep,active_employee_view aev, project p, client_group cg, client c,work_type wt,assessment_year ay
where ep.task_status_id=1 and ep.username=aev.username and ep.project_id=p.project_id and p.Year_id=ay.Year_id
and p.Client_group_id=cg.client_group_id and p.Client_id=c.Client_id and p.Work_type_id=wt.Work_type_id
order by cg.group_name,c.client_name, aev.emp_name;
现在我想把Id列作为第一列,它本质上应该是自动递增的。我该怎么做?
提前感谢。

您可以在您的选择中使用类似以下内容进行模拟:

SELECT @rownum:=@rownum+1 AS rownum, dummy.*
FROM (SELECT @rownum:=0) r, dummy;

数据库中的视图是数据库中某些数据的镜像副本。在现实中,它并不存在。它与主表的结构相同


所以它的结构不能改变

select@rownum:=@rownum+1'autoID',m.mediatumbnailurl,q.surveyID from(select@rownum:=0)r,media m join question m.media autoID=q.backgroundImageID

您可以使用“UIID()”函数,该函数将为您提供唯一的(字母数字)标识


检查一下:

顺便说一句,我认为这个问题是重复的:简短回答:否。注意:这将枚举结果集中的所有行,与实际查询的顺序无关!谢谢你的快速回复。但当我创建视图时,mysql给出了一个错误:-视图的select包含一个变量或参数。谢谢Lokesh。我们可以创建一个函数来实现这一点吗?此解决方案有一个主要缺点:每次访问视图时UUID都会更改。(顺便说一句,不要用相同的答案回答重复的问题,标记/投票关闭最新的问题作为最旧问题的重复。)