iPhone create SQLite database at runtime? iPhone create SQLite database at runtime? sqlite sqlite

iPhone create SQLite database at runtime?


You can check for the file (as usual) when the application starts up. If the file does not exist, instead of copying the pre-created file, simply:

  1. Open the file as usual using sqlite3_open()
  2. Run your creation commands (i.e., create your tables, views, etc.)

That's really all there is to it.


I think I'm going to echo the expanding cry, that if you are looking at doing anything with a database you should look at CoreData. It uses SQLLite underneath and is simpler to set up, and much simpler to migrate later when you find you need a few new things in the DB!


Core Data provides an easy way to manage this - it will look for a database file upon start-up if none exists it will create one for you. It will also create the model for you automatically based on a diagram that you can create in xCode.

When you come to upgrading people with older databases in the future it will also simplify data migration.

You access the data with generated Data objects too. Core Data will also use lazy loading for the objects it creates, which is much better than having to manually

For more information see the Locations demo project and read up on Core Data in the documentation.