我用SQL查询创建了一个视图:
CREATE VIEW rightview
AS
SELECT data.accounts.login,data.accounts.password,data.customers.right_
FROM data.accounts join data.customers using (id);
当我执行查询时,它表示View已成功创建。但是当我尝试使用此查询显示其列时
select * from data.rightview;
我收到了这个错误:
错误代码1356,SQL状态HY000:查看'data.rightview'引用 无效的表格或列或功能或定义/调用者 查看缺乏使用它们的权利
答案 0 :(得分:0)
尝试使用表别名
CREATE VIEW rightview
AS
SELECT account.login,account.password,customer.right_
FROM data.accounts as account join data.customers as customer using (id);
和
select * from rightview;
答案 1 :(得分:0)
恕我直言会更好:
CREATE VIEW rightview
AS
SELECT acc.login, acc.password, cust.right_
FROM data.accounts acc
LEFT JOIN data.customers cust on acc.id=cust.id
如果表客户包含引用表帐户的列ID ...
答案 2 :(得分:0)
试试这个......
CREATE VIEW rightview
AS SELECT a.login,a.password,b.right_
FROM accounts a INNER JOIN customers b
on a.id = b.id;
,然后,强>
select * from rightview;
将有效..
答案 3 :(得分:0)
我得到了同样的错误。我解决了从原始数据库中的原始视图处理所有代码并粘贴到bkp_db创建其他视图...