W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
聲明
?found_rows()
?
說明
一個 ?SELECT
? 語句可能包含一個? LIMIT
?子句,用來限制數(shù)據(jù)庫服務器端返回客戶端的行數(shù)。在某些情況下,我們需要不再次運行該語句而得知在沒有 ?LIMIT
? 時到底該語句返回了多少行。我們可以在 ?SELECT
? 語句中選擇使用? SQL_CALC_FOUND_ROWS
?,然后調(diào)用? FOUND_ROWS()
? 函數(shù),獲取該語句在沒有? LIMIT
? 時返回的行數(shù)。
例如:
obclient> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;
obclient> SELECT FOUND_ROWS();
第二個 ?SELECT
? 語句返回一個數(shù)字,表示在沒有 ?LIMIT
? 子句的情況下,第一個 ?SELECT
? 語句返回了多少行。若上述的 ?SELECT
? 語句不使用SQL_CALC_FOUND_ROWS
選項,使用?LIMIT
?和不使用?LIMIT
?時,?FOUND_ROWS()
?可能會返回不同的結(jié)果。
通過 ?FOUND_ROWS()
?函數(shù)返回的有效行數(shù)是瞬時的,并且不能越過 ?SELECT SQL_CALC_FOUND_ROWS
? 語句后面的語句。如果您后續(xù)還需要用到這個值,就需要將其保存。
例如:
obclient> SELECT SQL_CALC_FOUND_ROWS * FROM ... ;
obclient> SET @rows = FOUND_ROWS();
假如您正在使用?SQL_CALC_FOUND_ROWS
?,系統(tǒng)必須計算出在全部結(jié)果集合中有多少行。盡管如此,這也還是比不用? LIMIT
?而再次運行查詢要快,原因是結(jié)果集合不需要被發(fā)送到客戶端。
?SQL_CALC_FOUND_ROWS
?和?FOUND_ROWS()
在當您希望限制一個查詢返回的行數(shù)時是很有用的,同時還能不需要再次運行查詢就可以確定全部結(jié)果集合中的行數(shù)。一個例子就是提供頁式顯示的 Web 腳本,該顯示包含顯示搜索結(jié)果其他部分的頁的鏈接。使用?FOUND_ROWS()
?可以確定剩下的結(jié)果需要多少其他的頁。
?SQL_CALC_FOUND_ROWS
? 和 ?FOUND_ROWS()
? 的應用對于 ?UNION
? 查詢比對于簡單 ?SELECT
? 語句更為復雜,原因是在 ?UNION
? 中,?LIMIT
? 可能會出現(xiàn)在多個位置。它可能適用于?UNION
? 中的獨立的 ?SELECT
?語句,或是整個的?UNION
?結(jié)果。
?SQL_CALC_FOUND_ROWS
? 對于 ?UNION
? 的期望結(jié)果是它返回在沒有全局的 LIMIT 的條件下而應返回的行數(shù)。?SQL_CALC_FOUND_ROWS
? 和 ?UNION
? 一同使用的條件是:
SQL_CALC_FOUND_ROWS
? 關鍵詞必須出現(xiàn)在 ?UNION
? 的第一個 ?SELECT
? 中。FOUND_ROWS()
?的值只有在使用 ?UNION ALL
? 時才是精確的。若使用不帶 ALL 的 ?UNION
?,則會發(fā)生兩次刪除,而 ?FOUND_ROWS()
? 的值只需近似的。UNION
? 中沒有出現(xiàn) ?LIMIT
?,則 ?SQL_CALC_FOUND_ROWS
? 被忽略,返回臨時表中創(chuàng)建的用來處理 ?UNION
? 的行數(shù)。聲明
?last_insert_id()
?
說明
返回本 SESSION 最后一次插入的自增字段值,如最近一條 ?INSERT
? 插入多條記錄,?LAST_INSERT_ID()
? 返回第一條記錄的自增字段值。
例子
obclient> select LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 5 |
+------------------+
1 row in set (0.00 sec)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: