2012-01-20 101 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 –

相關問題