2014-02-21 103 views
1

我知道Mac OSx已预安装sqlite3.But当我输入此命令时,在 /usr/bin目录中,sqlite3 test.db我得到此显示在终端上。在mac os中使用sqlite3 x 10.9

Adityas-MacBook-Air:bin adityabahuguna$ sqlite3 test.db 
SQLite version 3.7.13 2012-07-17 17:46:21 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 

它很好,直到现在。但是,当我试图通过

sqlite> create table t(name text); 

创建一个表,我总是得到这样的错误:

Error: unable to open database "test.db": unable to open database file 

当我直接使用,而无需创建一个新的数据库create table命令然而,这不会发生。我想找出创建新数据库的方法(比如上面的test.db)。

回答

2

您正试图在/usr/bin中创建数据库,其中普通用户不具有写入权限。

您可以按照Atul的建议使用root/sudo写信给/usr/bin,但那不是您应该做的事情。

相反,指定由您的普通用户可写的数据库路径,例如

sqlite3 ~/test.db 

所以test.db获取你的home目录中创建。

+0

谢谢..这似乎是正确的方法。 –

1

您需要以root用户身份登录才能创建数据库特权。您可以通过以下步骤成为root用户:How to Become root user.

+0

瞧!那工作... :)谢谢 –

+1

我找到了更简单的方法。我们可以运行命令“sudo sqlite3 new_database.db”(清晰地引用引号),而不是以root用户身份登录。当创建数据库时,输入通常的CREATE TABLE ... etc命令...我们很乐意去 –

相关问题