Sqlite无法将数据库附加到main

时间:2012-02-12 22:40:51

标签: database ruby-on-rails-3 sqlite

我是sqlite3的新手我正在玩Ruby on Rails,我想在sqlite3控制台中获得有关命令.dump的更多信息。但是我忘了在最后添加.help所以它有点删除了我的主文件和附加文件之间的链接。

现在我正在尝试将我的文件附加到我的主数据库,但它总是说;

"Error: database main is already in use"

我使用命令看到的内容.database看起来像这样

seq  name             file
---  ---------------  ----------------------------------------------------------
0    main             C:\xampp\htdocs\FirstProject\first_app\db\development.sqli
1    temp

但现在看起来有点像:

image http://img688.imageshack.us/img688/8922/ss20120212173726.png

我一直在互联网上寻找一段时间,我无法找到问题的答案。我终于rake db:setup并且我的迁移回来了,除了它之外的一切都没有解决sqlite3的问题。

好的一面是我仍然可以通过rails console添加内容,但是我无法通过sqlite3 prompt命令列出或检查我的数据库的内容。

因此,如果有人对我的问题有所了解,那将非常感激。

1 个答案:

答案 0 :(得分:1)

从这里采取http://www.sqlite.org/lang_attach.html

The database-names 'main' and 'temp' refer to the main database and the database used for temporary tables. The main and temp databases cannot be attached or detached.

尝试将该文件用作sqlite3命令的参数。它会打开文件。

点击此处了解详情attach databasedetach database http://sqlite.awardspace.info/syntax/sqlitepg12.htm


sqlite> attach "testdb" as test1;
sqlite> .databases
seq  name             file
---  ---------------  ------------------------------------------------------
0    main
2    test1            C:\Documents and Settings\Administrator\testdb
sqlite> .quit

C:\Documents and Settings\Administrator>sqlite3 test
SQLite version 3.7.10 2012-01-16 13:28:40
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .databases
seq  name             file
---  ---------------  ------------------------------------------------------
0    main             C:\Documents and Settings\Administrator\test