Что здесь происходит? Я ожидал бы следующее удаление, чтобы удалить все из таблицы. Есть ли фундаментальное неправильное понимание того, как sqlite3 ведет себя с моей стороны?
sqlite> .schema
CREATE TABLE ip_domain_table (ip_domain TEXT, answer TEXT, ttl INTEGER, PRIMARY KEY(ip_domain, answer, ttl));
sqlite> select count(*) from ip_domain_table where ttl < 9999999999 ;
1605343
sqlite> pragma cache_size=100000; delete from ip_domain_table where ttl < 9999999999;
sqlite> select count(*) from ip_domain_table where ttl < 9999999999 ;
258
Q : Почему счетчик показывает «258»? Не должно ли быть 0 вместо этого?
Если я сделаю это вместо этого, он удалит все записи, как ожидалось.
sqlite> select count(*) from ip_domain_table;
1605343
sqlite> pragma cache_size=100000; delete from ip_domain_table;
sqlite> select count(*) from ip_domain_table;
0