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.