When I create an 'address' table, I pass this string to SQLite:
1) CREATE TABLE address(ROWID INTEGER PRIMARY KEY,First QLString,Last QLString,ZIP QLString,Country QLString);
And SQLite returns a series of data, from which you can see:
4) CREATE TABLE address(Last QLString,ROWID INTEGER PRIMARY KEY,First QLString,ZIP QLString,Country QLString);
Clearly not what I passed in statement #1. You also see this table called 'address_mem_2', which is fine:
'ROWID' is a special word in SQLite, and implicitly exists for all tables as its primary key, or as an alias to such. SQLite probably stripped it out of your explicit declaration because it was redundant.
Go to http://sqlite.org/lang.html and see 'Special Words' at the page bottom.
What you should do to fix the problem is use a different column name for your explicitly defined primary key.
On a separate matter, what is a 'QLString'? I've never heard of that SQL data type before.
-- Darren Duncan

