Sqlite3提示`...>`而不是`sqlite>`

Cod*_*ein 32 sqlite

我正在关注初学者教程sqlite3.第一步是创建一个新数据库.所以我输入一个名字(movies.db).

我期待sqlite>在下一行得到另一个提示,并继续学习本教程,但我得到一个跛脚,...>之后我可以输入任何我想要的乱码.显然,这并不好.

我的命令提示符是什么样的:

SQLite version 3.8.1 2013-10-17 12:57:35
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> $ sqlite3 movies.db
   ...> gibberish
   ...> dsds
   ...> sdada
   ...> gfgys
   ...> a
   ...> Aaaaarrrgh!
   ...>
Run Code Online (Sandbox Code Playgroud)

如何让sqlite3为我正常工作?

请原谅我的新手.我希望我能以一种可能有助于其他新手的方式来表达这个问题.

zea*_*soi 27

SQLite的正常工作.但是,该sqlite movies.db命令应该从您的系统命令行发出- 而不是从Sqlite交互式shell 发出.首先退出Sqlite交互式shell(.exit),然后发出数据库创建命令.

根据快速入门文档:

  1. 在shell或DOS提示符下,输入:"sqlite3 test.db".这将创建一个名为"test.db"的新数据库.(如果您愿意,可以使用其他名称.)

  2. 在提示符处输入SQL命令以创建和填充新数据库.

一旦sqlite movies.db命令被正确地从您的系统命令行下执行,你会自动放置在SQLite的交互式shell,这将在等待命令.

sqlite> create table tbl1(one varchar(10), two smallint);
Run Code Online (Sandbox Code Playgroud)

所述...>壳提示表示从前面的行再持续一段时间.如消息中所示,您需要使用;分号终止每个数据库命令.

sqlite> CREATE TABLE tbl2 (
   ...>   f1 varchar(30) primary key,
   ...>   f2 text,
   ...>   f3 real
   ...> );
sqlite>
Run Code Online (Sandbox Code Playgroud)


Ada*_*ppe 12

用;终止语句.所以刚刚打; 然后输入它将恢复正常(在给出错误之后,因为你在这里键入的是糟糕的sql).

发生了什么事情,它认为你还在做些什么.将长查询分解为如下行是很有用的:

sqlite> select title, description
   ...> from mytable
   ...> where id > 10;
Run Code Online (Sandbox Code Playgroud)

并且...>表示它正在等待您完成查询,您使用分号表示.

  • >使用;终止语句.所以刚刚打; 然后输入它将恢复正常(在给出错误之后,因为你在这里键入的是糟糕的sql).事实并非如此,至少不适用于3.7.11版本.分号在"...>"提示符后面向右抛出(只有ctrl-z可以逃脱).也许这是一个错误? (9认同)
  • 也遇到这样的情况。有时')'然后输入,后面跟着';' 然后输入,就可以了。 (2认同)

Kir*_*rby 7

我不断地向上箭头或向左箭头进入下面.我发现只有control- D有效.

sqlite> ^[[A
   ...> '
   ...> ;
   ...> 
   ...> ;
   ...> 
   ...> 
   ...> 
   ...> 
   ...> ^C
   ...> ^X
   ...> 
   ...> 
   ...> 
   ...> 
   ...> 
   ...> 
   ...> ^E
   ...> ^R

   ...> ^T
   ...> ^Y
   ...> ^K
   ...> ^X
   ...> quit
   ...> '
   ...> ;
   ...> /
   ...> g
   ...> 
   ...> 
   ...> .exit
   ...> )
   ...> ;
   ...> /
   ...> ;
   ...> /
   ...> /
   ...> /
   ...> /
   ...> /
   ...> /
   ...> /
   ...> /
   ...> /
   ...> /
   ...> /
   ...> >
   ...> ;
   ...> /
   ...> '/
   ...> ;
   ...> ,
   ...> ;
   ...> ^[[D
   ...> /
   ...> .quit
   ...> ?
'  ...> Error: incomplete SQL: 
Run Code Online (Sandbox Code Playgroud)

  • control-z 将进程移动到后台。它仍在运行。 (2认同)