2012-01-20 16 views
1

あるデータベースから別のデータベースへのVIEWを作成しようとしていますが、両方が同じSQLサーバ上にあります。別のテーブルからのSQLビュー

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

なぜ私はこの仕事を得ることができないのかについてのアイデア。 私はそのthe-dbのハイフンを考えるが、私はこれを使用する必要があるdbはすでに使用されています。 (他の誰かによって命名されました、私はアンダースコアを使用します)

ERROR: #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 –

関連する問題