1
PHPでMySQL 5.1を使用していて、プライマリキーを使用して特定の行を選択するクエリを実行することが可能かどうかは疑問でしたが、存在しない場合は、別の行を返します。SQLフォールバック行?
たとえば:ID = "" 他のid = "B"
PHPでMySQL 5.1を使用していて、プライマリキーを使用して特定の行を選択するクエリを実行することが可能かどうかは疑問でしたが、存在しない場合は、別の行を返します。SQLフォールバック行?
たとえば:ID = "" 他のid = "B"
select *
from table1
where id="a"
union all
select *
from table1
where id="b"
and no exists (
select *
from table1
where id="a");
は、この実際に3つのSELECT文を実行しTABLE1から*を選択します。 2つのSELECTSの間でUNIONを実行し、最後のセットでLIMIT 1を実行する方が速くなります。 –
@Artem:いいえ、UNIONの順序は保証されていないため、LIMITは "b"になります。 –
3つ未満のセレクトは素晴らしいボーナスですが、それでも完全に動作します!ありがとう=) –