您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL 视图 第1349号错误解决方法

2025/7/7 16:22:10发布24次查看
把下面sql里的select单独执行,没有问题,但是用来create view 就报错了.
代码如下:
create or replace view blog_v_admin
(id,nickname,sex,email,phone,qq,msn,http,register_time,
ip,last_login_ip,login_time)
as
select
a.id,a.nickname,a.sex,a.email,a.phone,a.qq,a.msn,a.http,a.register_time,
b.ip as last_login_ip,b.login_time as last_login_time
from
blog_admin a left join
blog_admin_login_track b on b.admin = a.id left join
(select admin,max(login_time) as login_time from blog_admin_login_track group by admin) c on b.admin = c.admin;
error 1349 (hy000): view's select contains a subquery in the from clause
这是bug吗?见:http://bugs.mysql.com/bug.php?id=16757
木有办法,我只好这样改了:
代码如下:
create or replace view blog_v_admin
(id,nickname,sex,email,phone,qq,msn,http,register_time,
login_time,last_login_ip)
as
select
a.id,a.nickname,a.sex,a.email,a.phone,a.qq,a.msn,a.http,a.register_time,
(select login_time from blog_admin_login_track where admin = a.id order by login_time desc limit 1) as last_login_time,
(select inet_ntoa(ip) from blog_admin_login_track where admin = a.id order by login_time desc limit 1) as last_login_ip
from
blog_admin a;
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product