> While implementing a table that intended for arbitrary table storage, I
> automatically named some field rowid not linking at the moment that it 
> will
> have a name conflict with sqlite internal rowid name. Lately I discovered
> this, and (not a big deal) recreated table with a different name. But just
> wondering, was allowing to create such field intentional? As I suppose 
> such
> field is complete phantom since most sql queries will interpret rowid
> internally and won't allow access this user field at all.

Sqlite works by giving priority to the column names defined in the table. 
So if you have a column named rowid then it will access this rather than the 
internal rowid.  Therefore, there is more than one way of accessing this 
internal rowid: rowid, _rowid_ and oid.

Of course if you define a column "rowid integer primary key" then the 
declared column and the internal rowid are one and the same...

http://www.sqlite.org/lang_createtable.html#rowid

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to