小编典典

SQLite使用命令行

sql

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。我在这里想念什么吗?


阅读 203

收藏
2021-03-17

共1个答案

小编典典

这是两个问题的两个答案:

  1. 我发现使用sqlite3命令行客户端时,我的箭头键可以正常工作。

  2. INSERT语句中有两个错误:

    • 您不应为AUTOINCREMENT列提供值。

    • 您应该列出列和映射值的顺序。当您不具有与列相同数量的值时,这是必需的,但是即使您这样做,也是一个好习惯,因为以后对表结构的更改可能会更改列的顺序或数量。

    • 同样,单引号在SQL数据库中更为标准。SQLite将接受双引号,而其他一些程序则不会。

插入资源(ResourceType)值(’剃刀’)

2021-03-17