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

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

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

    Rising Sun

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

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

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

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

    最近發現的妙用在于,在不定數量查詢條件情況下,1=1可以很方便的規范語句。例如一個查詢可能有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字句,否則要在第一個出現的地方加where

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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产av高清无码| 有码人妻在线免费看片| a级毛片在线免费| 免费涩涩在线视频网| 亚洲AV无码AV男人的天堂| 亚洲a无码综合a国产av中文| 小草在线看片免费人成视久网| 免费a级毛片大学生免费观看| 亚洲1区1区3区4区产品乱码芒果| 久久国产乱子精品免费女 | 久久亚洲最大成人网4438| 最新亚洲成av人免费看| 国产在线不卡免费播放| 亚洲中文久久精品无码1| 美女在线视频观看影院免费天天看| 波多野结衣免费视频观看| 亚洲高清视频在线| 97在线视频免费播放| 亚洲色婷婷一区二区三区| 极品美女一级毛片免费| 天堂在线免费观看中文版| 亚洲成a人片毛片在线| 国产成人无码区免费内射一片色欲| 亚洲国产精品人人做人人爱| 亚洲另类无码专区首页| 黄页网站在线看免费| 亚洲国产日韩一区高清在线| 国产又黄又爽又大的免费视频 | EEUSS影院WWW在线观看免费| 国产精品免费小视频| 亚洲中文字幕一二三四区| 无码国产精品一区二区免费式影视| 亚洲成人午夜在线| a毛看片免费观看视频| 国产精品亚洲高清一区二区| 国产精品亚洲五月天高清| 在线jyzzjyzz免费视频| 国产亚洲精aa在线看| 无人影院手机版在线观看免费| 亚洲三级在线免费观看| 免费专区丝袜脚调教视频|