Olen onnellinen.

あしたもどこかで NullPointerException。資格試験とかシステム開発の記録だったりなかったり。

こんなSQL

SQLのあんまりなさそうですが、さりげなくハマりそうなこと。

SQLで複数のカラムの値を拾うときはカンマ区切りでカラム名を並べます。

▼ 1.こんな感じ
mysql> select a, b from table_a where id = 10;
+---+---+
| a | b |
+---+---+
| 1 | 0 |
+---+---+



で、ここでカンマを忘れてもエラーにはなりません。しかも結果がおかしくなります。

▼ 2.こんな感じ
mysql> select a b from table_a where id = 10;
+-----+
| b |
+-----+
| 1 | ← 0のはずじゃ!?
+-----+



理屈としてはASが省略されている構文とみなされます。

▼ 3.2とイコール
mysql> select a as b from table_a where id = 10;
+-----+
| b |
+-----+
| 1 |
+-----+



結構わかりにくいことになりそうなので気をつける。

このエントリーを含むはてなブックマーク | 
コメント
この記事へのコメント
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
Copyright © 2008 hydra404 all rights reserved.