On Mon, 31 Jan 2011 11:05:13 -0500, Simon Slavin <slav...@bigfraud.org> wrote:
> In the definition given in the original post, which I quoted, the table > was defined as follows: > >> CREATE VIRTUAL TABLE Directors USING fts3(id INTEGER PRIMARY KEY NOT >> NULL, first_name TEXT NOT NULL, last_name TEXT NOT NULL, >> show_last_name_first INTEGER DEFAULT 0, normalised_name TEXT NOT NULL, >> sort_name TEXT NOT NULL, fanships_count INTEGER, image_url >> VARCHAR(255)); > > Under this situation, would SQLite not use 'id' as an alias to rowid ? Ah yes, you are correct. Evidence, using sqlite3 shell compiled with FTS3: sqlite> CREATE VIRTUAL TABLE "Test" USING fts3( ...> "id" INTEGER PRIMARY KEY NOT NULL, ...> "Content" TEXT); sqlite> INSERT INTO "Test" ("id", "Content") VALUES( ...> 101, ...> 'This is a test.'); sqlite> .mode line sqlite> SELECT typeof("id"), typeof("Content") FROM "Test"; typeof("id") = integer typeof("Content") = text Continuing on, to address the original poster’s question: sqlite> SELECT * FROM "Test" WHERE "id" = 101; id = 101 Content = This is a test. sqlite> SELECT * FROM "Test" WHERE "id" = '101'; sqlite> You were right; I was wrong. I saw FTS3 and somehow missed the PK definition. Of course, this still does not answer why the OP observed different results on different platforms. Very truly, Samuel Adam <a...@certifound.com> 763 Montgomery Road Hillsborough, NJ 08844-1304 • United States http://certifound.com/ _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users