2011-10-09 6 views
14

Sono un più fresco di rotaie e SQLite.sqlite3 - come elencare il nome del database usando il comando .databases?

Ecco il mio scenario: Ho installato sqlite3 sul mio computer con Windows Vista. A c:\rails\blog è stato implementato anche un codice di applicazione per blog. Ho richiamato il mio prompt dei comandi e sono andato direttamente a c:\rails\blog\db. Ho eseguito il comando sqlite3 per accedere alla console del database. quando ho usato il comando .databases, nessun database è stato elencato? Perché? Cosa ho fatto di sbagliato?

risposta

17

Probabilmente non ho aperto il database stesso

sqlite3 database.db 

Ricordate, che in uno SQLite il database è solo un file. Finché non si apre o attach uno, non ce n'è uno aperto. D'altra parte quando apri semplicemente il database .databases ti senti una specie di inutile, perché tu sai quale hai appena aperto.

17

È necessario fornire il database (percorso e) il nome al comando sqlite3, ad esempio,

Dev e$ sqlite3 my_test.db 
SQLite version 3.7.7 2011-06-23 19:49:22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> .databases 
seq name    file              
--- --------------- ---------------------------------------------------------- 
0 main    /Users/e/Dev/my_test.db         
sqlite> 
1

Quando si esegue sqlite3 senza parametri, viene creato un database temporaneo, che verrà distrutto non appena si chiude il programma. Questo è quello che hai fatto.

Per accedere al database, è necessario specificare il nome del file che contiene il database.

$ sqlite3 my.db 
Problemi correlati