Mysql
 sql >> Baza danych >  >> RDS >> Mysql

odpowiednik pdo mysql_data_seek

Zwykła odpowiedź brzmi:czy Twoje dane szukają bezpośrednio w tablicy PDOStatement::fetchAll ... Ale jest ŹLE, JEŚLI zapytanie pobiera dużo danych (!).

Istnieją 2 prawdziwe rozwiązania,

1) jeśli baza danych zezwala na użycie PDO::FETCH_ORI_ABS lub PDO::FETCH_ORI_REL ,przykład,

$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);

(EDIT) Ale, jak skomentował @ChoiZ, miej ograniczenie PDO-MySQL :"MySQL nie obsługuje kursorów " (na zewnątrz przechowywane programy) "a sterownik nie może ich emulować za Ciebie"... Spróbuj później lub z rozwidleniami MySQL, takimi jak MariaDB.

2) skorzystaj z rozwiązania bazodanowego (rodzaj paginacji). Przykład:

SELECT a, b FROM table LIMIT 1, 973 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie obiektu Python datetime.datetime do MySQL

  2. Procedura składowana MYSQL dla zmiennych aktualizacji to 0

  3. Kiedy Class.forName jest potrzebne podczas łączenia się z bazą danych przez JDBC w aplikacji internetowej?

  4. Błąd składni z IF EXISTS UPDATE ELSE INSERT

  5. Utwórz procedurę składowaną MySQL za pomocą JPA Hibernate