SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Verwendung von _COUNT in BaseColumns

In der Datenbank gibt es für _id nichts Besonderes oder _count .

Ihre Abfragen geben eine _id zurück oder _count Spalte, wenn die Tabelle so definiert ist, dass sie eine solche Spalte hat, oder wenn die Abfrage sie explizit berechnet.

Viele Objekte des Android-Frameworks erwarten, dass ein Cursor eine eindeutige _id hat Spalte, so viele Tabellen definieren sie.

An den meisten Stellen ist der _count wird nicht erwartet, daher wird es normalerweise nicht implementiert. Und wenn es tatsächlich benötigt wird, kann es einfach mit einer Unterabfrage berechnet werden, etwa so:

SELECT _id,
       [other fields],
       (SELECT COUNT(*) FROM MyTable) AS _count
FROM MyTable
WHERE ...

Wenn Sie die Größe Ihrer eigenen Tabelle herausfinden möchten, müssen Sie den _count nicht verwenden Name; Sie können eine Abfrage wie SELECT COUNT(*) FROM subjects ausführen , oder verwenden Sie, noch einfacher, eine Hilfsfunktion, die dies für Sie erledigt.