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。我在这里想念什么吗?
这是两个问题的两个答案:
我发现使用sqlite3命令行客户端时,我的箭头键可以正常工作。
INSERT语句中有两个错误:
您不应为AUTOINCREMENT列提供值。
您应该列出列和映射值的顺序。当您不具有与列相同数量的值时,这是必需的,但是即使您这样做,也是一个好习惯,因为以后对表结构的更改可能会更改列的顺序或数量。
同样,单引号在SQL数据库中更为标准。SQLite将接受双引号,而其他一些程序则不会。
插入资源(ResourceType)值(’剃刀’)