Sqlite 使用命令行

标签 sql sqlite

Sqlite 有点令人沮丧。每次运行命令时,我都无法使用上下左右箭头来检索我以前键入的命令。有什么方法可以启用它吗?

另一个问题: 我有下表

CREATE TABLE resource (
    resourceID INTEGER PRIMARY KEY AUTOINCREMENT,
    resourceType STRING,
    userID INTEGER DEFAULT -1
);

然后我插入如下:

insert into resource values(null, "razor");

但它不允许我这样做,因为我只插入了 2 列并且没有为 userID 列指定任何内容。但我认为 DEFAULT 的意义在于,如果未插入任何内容,则将值默认为 -1。我在这里遗漏了什么吗?

最佳答案

一个快速的解决方案是启动支持 ReadLine 的 SQLite,如下所示:

rlwrap sqlite3 database.db

如果未安装 rlwrap,您可以在 Ubuntu 上使用以下命令安装:

sudo apt-get install rlwrap

对于其他 Linux 版本,请检查 here .

rlwrap 是一个 ReadLine 包装器,它是一个使用 GNU readline 库允许为任何其他命令编辑键盘输入的小型实用程序。

关于Sqlite 使用命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7414818/

相关文章:

sql - "Learn sql the hard way"- 练习 13 : Trouble with a nested select statement

php - 在phpmyadmin中导入sql时出错

sql - 查询核心数据中的每个第 n 个元素

ruby-on-rails - 在 Windows 上为 Ruby 安装 SQLite3 - 当前最简单的方法是什么?

android - 在 Android 中向 SQLite 表添加一列?

python - AUTO_INCREMENT 在 sqlite 问题与 python

SQL 查询 where 子句

sql - 如何停止在 Oracle 树层次结构中的特定分支/级别?

使用内部 SELECT 进行 SQL 查询

c - 有没有办法系统地查询 sqlite3 行并将数据放入 C 数组中?