On Sun, 1 Oct 2006, George Herson wrote:

It seems to me that http://www.sqlite.org/lang_createtable.html should
mention the ramifications of not passing in a database name when using the
sqlite3 executable.

George,

  I believe that the examples always show a database name when the
executable is invoked.

the executable should confirm an exit involving impending data loss.

  The default is to create tables in memory when no database is used.
Invoking sqlite3 without any database name is equivalent to invoking it with
":memory:". Makes sense if you think about it a bit.

the executable should print at the start a caution when started without a
database name.

  See above.

  Remember that sqlite3 is a programmer's database engine and designed to be
embedded in applications. Yes, it can be used as a stand-alone rdbms, but
that's not the intent.

  If you create tables without specifying in which database they belong,
sqlite3 has no idea what to do with them. As noted above, they're in memory
and not added to a disk file because no such file exists.

  You'll find the same behaviors with PostgreSQL and, perhaps, MySQL. It is
not asking users too much to name the database (== filename with sqlite3)
when invoking the engine.

HTH,

Rich

--
Richard B. Shepard, Ph.D.               |    The Environmental Permitting
Applied Ecosystem Services, Inc.(TM)    |            Accelerator
<http://www.appl-ecosys.com>     Voice: 503-667-4517      Fax: 503-667-8863

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to