SQLite
 sql >> Database >  >> RDS >> SQLite

Come utilizzare _COUNT in BaseColumns

Nel database, non c'è niente di speciale né in _id o _count .

Le tue query restituiscono un _id o _count colonna quando la tabella è definita per avere una tale colonna o quando la query la calcola in modo esplicito.

Molti oggetti del framework Android si aspettano che un cursore abbia un _id univoco colonna, tante tabelle la definiscono.

Nella maggior parte dei posti, il _count non dovrebbe essere presente, quindi di solito non è implementato. E se è effettivamente necessario, può essere semplicemente calcolato con una sottoquery, come questa:

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

Se vuoi scoprire la dimensione della tua tabella, non è necessario utilizzare il _count nome; puoi eseguire una query come SELECT COUNT(*) FROM subjects o, ancora più semplice, usa una funzione di supporto che fa questo per te.