我在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列作为第一列,本质上应该是auto_increment。我该怎么做? 提前谢谢。
答案 0 :(得分:5)
您可以在SELECT中使用类似的东西进行模拟:
SELECT @rownum:=@rownum+1 AS rownum, dummy.*
FROM (SELECT @rownum:=0) r, dummy;
答案 1 :(得分:2)
在数据库中查看是我们数据库中一些数据的镜像副本。实际上它并不存在。它具有与主表相同的结构
所以它的结构不能改变
答案 2 :(得分:0)
您可以使用“UIID()”功能,该功能将为您提供唯一(字母数字)标识。
答案 3 :(得分:-1)
选择@rownum:= @ rownum + 1'autoID',m.mediaThumbnailUrl,q.surveyID from(SELECT @rownum:= 0)r,media m join q q on m.mediaAutoID = q.backgroundImageID;