<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Rising Sun

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      148 隨筆 :: 0 文章 :: 22 評論 :: 0 Trackbacks

    where 1=1有什么用?在SQL語言中,寫這么一句話就跟沒寫一樣。

    select * from table1 where 1=1與select * from table1完全沒有區(qū)別,甚至還有其他許多寫法,1<>2,'a'='a','a'<>'b',其目的就只有一個,where的條件為永真,得到的結果就是未加約束條件的。

    在SQL注入時會用到這個,例如select * from table1 where name='lala'給強行加上select * from table1 where name='lala' or 1=1這就又變成了無約束的查詢了。

    最近發(fā)現(xiàn)的妙用在于,在不定數(shù)量查詢條件情況下,1=1可以很方便的規(guī)范語句。例如一個查詢可能有name,age,height,weight約束,也可能沒有,那該如何處理呢?

    String sql=select * from table1 where 1=1

    為什么要寫多余的1=1?馬上就知道了。

    if(!name.equals("")){
    ?sql=sql+"name='"+name+"'";
    }
    if(!age.equals("")){
    ?sql=sql+"age'"+age+"'";
    }
    if(!height.equals("")){
    ?sql=sql+"height='"+height+"'";
    }
    if(!weight.equals("")){
    ?sql=sql+"weight='"+weight+"'";
    }

    如果不寫1=1呢,那么在每一個不為空的查詢條件面前,都必須判斷有沒有where字句,否則要在第一個出現(xiàn)的地方加where

    posted on 2006-07-26 14:24 brock 閱讀(412) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 午夜视频免费成人| 手机在线看永久av片免费| 国产精品免费综合一区视频| 亚洲一区在线观看视频| 波多野结衣中文字幕免费视频 | 成人毛片免费观看视频在线| 亚洲国产精品白丝在线观看| 91久久精品国产免费直播| 亚洲欧洲精品在线| 好爽…又高潮了免费毛片| 亚洲欧美日韩中文二区| 宅男666在线永久免费观看| 美女羞羞免费视频网站| 亚洲欧洲日产国码高潮αv| 久久久久免费视频| 中文字幕亚洲综合久久| 最近中文字幕免费mv视频8| 亚洲Aⅴ在线无码播放毛片一线天| 国产免费爽爽视频免费可以看| 狼色精品人妻在线视频免费| 在线亚洲精品自拍| 8888四色奇米在线观看免费看| 国产成人精品日本亚洲专一区| 在线观看免费人成视频色9| 香蕉视频免费在线| 亚洲av永久无码精品表情包| 久久国内免费视频| 香港经典a毛片免费观看看| 国产亚洲人成无码网在线观看| 91手机看片国产永久免费| 国产精品久久久久久亚洲影视| 国产亚洲av片在线观看18女人| 久久精品免费观看国产| 亚洲日韩一区二区一无码| 国产综合精品久久亚洲| 成人黄色免费网站| v片免费在线观看| 亚洲成av人片不卡无码| 亚洲成av人片天堂网老年人| 久久美女网站免费| 亚洲成在人线aⅴ免费毛片|