This
is SQLite’s way of maintaining referential integrity. This was not
a feature, however, until version 3.6.19. Also, Android did not
use a version of SQLite >= 3.6.19 until SDK 8 (2.2 Froyo). Well,
actually prior versions of SQLite parsed foreign key constraints, but
did not enforce them. Here is a list of SQLite versions that the
different Android SDK’s use:
- 15-4.0.3-Ice Cream Sandwich: 3.7.4
- 14-4.0-Ice Cream Sandwich: 3.7.4
- 13-3.2-Honeycomb: 3.7.4
- 12-3.1-Honeycomb: 3.7.4
- 11-3.0-Honeycomb: 3.7.4
- 10-2.3.3-Gingerbread: 3.6.22
- 9-2.3.1-Gingerbread: 3.6.22
- 8-2.2-Froyo: 3.6.22
- 7-2.1-Eclair: 3.5.9
- 4-1.6-Donut: 3.5.9
- 3-1.5-Cupcake: 3.5.9
By
default, foreign key support is turned off in the latest versions of
SQLite in order to maintain backwards compatibility. This might
change in the future, but as of now, it must be enabled before using
foreign keys or else the constraints will not affect your commands.
No comments:
Post a Comment