2012-04-07 10 views
0

まず、MySql用のSQL Server Migration Assistantを使用してデータベースを移行しようとしましたが正常に動作しました。MySQLからSQL Server - 誤った構文のキーワード 'mictest'

しかし、私は自分のコードにいくつかの問題があります。

私はMYSQLのバージョンに次の行を持っていた:

$fct="SELECT * FROM `users` WHERE `USER` LIKE CONVERT(_utf8 '$LOGIN' USING latin1) COLLATE latin1_swedish_ci AND `PASS` LIKE CONVERT(_utf8 '$PASS'USING latin1) COLLATE latin1_swedish_ci"; 

この行はうまく働いたが、私は私のSQLのバージョンでこれを置くしようとすると、私が手:

エラー:SQLSTATE[42000]: [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax with the keyword 'mictest'.(私の$ LOGINです私もこれを試してみましたが、それは動作していないので、それは問題では、「引用符」とあった私が)

$fct="SELECT * FROM users WHERE USER LIKE CONVERT(_utf8 '$LOGIN' USING latin1) COLLATE latin1_swedish_ci AND PASS LIKE CONVERT(_utf8 '$PASS' USING latin1) COLLATE latin1_swedish_ci"; 
+0

「CONVERT($ _UTF8 '$ LOGIN' USING latin1) 'CONVERT(_utf8 '$ LOGIN' USING latin1)」 –

+1

[TSQL CONVERT関数のドキュメント](http://msdn.microsoft.com/ en-us/library/ms187928.aspx)、あなたはその理由を知っているでしょう... [COLLATE関数]を使用するようにクエリを変更する必要があります(http://msdn.microsoft.com/en-us/library/ms184391 .aspx)。 –

+0

私は別の方法でCOLLLATEを使用する方法についての詳細を見つけようとしましたが、現時点では成功しませんでした。 –

答えて

1

あなたはMYSQL DBからの移行を行った場合は、ちょうどそれを確認... USING latin1) COLLATE latin1_swedish_ciは...常に便利かつ正確です。

いくつか間違いがあります。それがあなたを助けることを願っています。

+1

検索の後に変更しました。ありがとうございます! –

0

_utf8の後にスペースを削除してください:

CONVERT(_utf8'$LOGIN' USING latin1) 
       ^---no space 
+1

質問に私のコメントを参照してください –

+0

私のコードでは働いていません: '$ fct =" SELECT *ユーザからのユーザーの変換(_utf8 '$ LOGIN' USING latin1)COLLATE latin1_swedish_ciとPASS LIKE CONVERT(_utf8 '$ PASS' USING latin1)COLLATE latin1_swedish_ci "'; 別の方法でCOLLLATEを使用する方法についての詳細を見つけようとしましたが、現時点では成功しませんでした。 –

関連する問題