2012-01-20 42 views
1

我想创建一个从一个数据库到另一个数据库的视图,它们都在同一个SQL服务器上。来自另一个表的SQL视图

CREATE VIEW mdl_role_assignments 
AS 
SELECT * 
FROM the-db.mdl_role_assignments 

任何想法,为什么我不能得到这个工作。 我认为它的'the-db'中的连字符,但我需要使用这个db已经被使用。 (被其他人命名,我会用下划线)

错误: #1064 - 您的SQL语法错误;请检查与您的MySQL服务器版本相对应的手册,以找到在第4行'-db.mdl_role_assignments'附近使用的正确语法。

回答

4

您可以尝试使用方括号来引用SQL中的复杂名称,例如

CREATE VIEW mdl_role_assignments 
AS 
SELECT * 
FROM [the-db].mdl_role_assignments; 

或反引号

CREATE VIEW mdl_role_assignments 
AS 
SELECT * 
FROM `the-db`.`mdl_role_assignments`; 
+1

+1 - 我认为这是MySQL只反引号;方括号是MSSQL。 –

+0

辉煌的反效果很棒!不知道为什么我没有尝试。把它放到预先冲泡的位置。 – Codded

+1

@MarkBannister是的 - 我相信你是对的 - 对任何MSSQL工作都值得了解:D –

相关问题