sqlite3 puzzle
llanitedave
llanitedave at veawb.coop
Tue Jan 15 15:29:28 EST 2013
On Tuesday, January 15, 2013 9:13:13 AM UTC-8, Rob Day wrote:
> On 15 January 2013 15:51, llanitedave <llanitedave at veawb.coop> wrote:
>
> > Thanks for the suggestion, Rob, but that didn't make any difference. I've never had an issue with putting the execute object into a variable and calling "fetch" on that variable.
>
> >
>
> > I can accept reality if it turns out that foreign keys simply isn't enabled on the Python distribution of sqlite, although I don't know why that should be the case. I'm just curious as to why it worked at first and then stopped working.
>
>
>
> Well - you might be able to accept that, but I'm not sure I can! If it
>
> was working before, it must be compiled in, and so it must be possible
>
> to make it work again.
>
>
>
> http://www.sqlite.org/foreignkeys.html#fk_enable seems to suggest that
>
> "PRAGMA foreign_keys = ON" never returns anything, and it's only
>
> "PRAGMA foreign_keys" which returns 0, 1 or None (when unsupported).
>
> With that in mind, does the following code work?
>
>
>
> # open database file
>
>
>
> self.geologger_db = sqlite3.connect('geologger.mgc')
>
> self.db_cursor = self.geologger_db.cursor()
>
> self.db_cursor.execute("PRAGMA foreign_keys = ON")
>
> self.db_cursor.execute("PRAGMA foreign_keys")
>
> print self.db_cursor.fetchone()
"http://www.sqlite.org/foreignkeys.html#fk_enable seems to suggest that "PRAGMA foreign_keys = ON" never returns anything, and it's only "PRAGMA foreign_keys" which returns 0, 1 or None (when unsupported)."
That was it, exactly, Rob. I don't know where I got the idea that I was getting a '1' from the 'ON' command, although I was sure that I'd seen it. But once I just called "foreign_key" it returned just fine.
Ummm... Obviously I was up fiddling around too late. Yeah, that's it.
Thanks! It's solved now.
More information about the Python-list
mailing list