2012-05-13 9 views
4

SQLクエリウィンドウを使用してphpmyadminで変数を呼び出すのに問題があります。SQLクエリのユーザ定義変数

私はまだロープを学んでいるので、これはとても簡単です。私はそれがちょっとした構文や引用の問題だと信じています。私がやろうとしています何

は次のとおりです。

SET @var1 = Value (Does it need quote marks after "=" or not?) 

SELECT * From `Table` WHERE 'Column' = @var1  (Same question about quote marks) 

これは単なる愚かな単純なようです。私は検索して、私が間違っていることを見つけることができませんでした。

+0

予約語を使用していてfieldnameとして使用する場合は、二重引用符(一重引用符は使用できません。文字列の場合)はANSI SQLに準拠しています。さらに、バックティックはスタックオーバーフローには向いていません。文章の中のコードを説明することはできません。 –

答えて

1

場合、あなたはその周りに引用符を使用する必要があり、そうでなければあなたはしません。しかし、列名を引用するべきではありません!したがって:

+0

Kのようなものを使用できます。 #1267 - 操作 '='のための照合(utf8_general_ci、IMPLICIT)と(utf8_unicode_ci、IMPLICIT)の不正な組み合わせ –

+0

そして、私はちょうどチェックして、私のものはどれもutf8_unicodeを使用していません。すべてがutf8_general –

+0

問題が解決しました。私はちょうどカップルの設定を変更する必要がありました。みんなありがとう! –

4

あなたは引用符必要いけない:

SET @var1 =10; 
SELECT * FROM table WHERE `column` = @var1 //should work 

するか、あなたができる:

SET @var1:='somename'; 
SELECT * FROM table WHERE `somefield`[email protected] 

を参照してください:あなたの値が文字列が含まれているvariables

+0

あなたは、それがうまくいかなかった2つの理由で私を助けたと思います。私は "SET"コマンドの後にセミコロンを使用していませんでした。リンクを読んだ後、私の価値観には互換性がないと思います。私が使用しようとしている値は、'10 -12001 'のようになります。 –

+0

thats文字列の場合は、追加の回答 –

関連する問題