猜解所有資料庫的名稱的陳述句:
HTTP ://xxx.xxx.xxx.abc.asp?p=YY and (select count ( * ) from master.dbo.sysdatabases where name>1 and dbid=6) <>0
沒學過SQL,基本靠百度在理解
后面的SQL陳述句每個部分基本都理解了,但是連一起理解不了
書上解釋是name欄位是一個字串型別,所以和數字1比較肯定是會出錯,那么and邏輯運算左邊是錯誤
dbid 1-5是系統表,6開始是用戶創建的,但是and右側不管真或假,最后括號內的結果恒為假,那么應該是不會顯示任何記錄?
求大神幫忙解釋下。
uj5u.com熱心網友回復:
確實有問題, 除非人為創建的資料庫名稱全部都能轉成int。這個 sql 99.9999% 是執行會出錯的。
uj5u.com熱心網友回復:
所以理解不了。。
書上意思通過這句陳述句,將dbid從6開始逐個累加嘗試,就能猜解所有資料庫的名稱
哎,我看的這本書內容各種錯誤,我懷疑是不是哪里又弄錯了。虧他還是清華大學出版的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/53910.html
標籤:基礎類
