title: Do SQLite FTS tables need to be manually populated?
body: <p>The documentation for SQLite FTS <a href="https://www.sqlite.org/fts3.html#populating_fts_tables" rel="noreferrer">implies</a> that FTS tables should be populated and updated using INSERT, UPDATE, DELETE, etc.</p>
  
  <p>That's what I was doing - adding rows, deleting them, etc., but recently I've noticed that as soon as I create the FTS table, it is automatically populated using the data from the source. I create it this way:</p>
  
  <pre><code>CREATE VIRTUAL TABLE notes_fts USING fts4(content="notes", notindexed="id", id, title, body)
  </code></pre>
  
  <p>If I add a row to the "notes" table, it is also automatically added to notes_fts. I guess that's what virtual tables are.</p>
  
  <p>But then, why is there a chapter about populating FTS tables? What would even be the point since for example if I delete a row, it will come back if it's still in the source table.</p>
  
  <p>Any idea about this? Do FTS actually need to be populated?</p>