【问题标题】:Is it possible to insert a row with a given id in a table where the id field is autoincremented?是否可以在 id 字段自动递增的表中插入具有给定 id 的行?
【发布时间】:2012-09-25 11:29:53
【问题描述】:

我已经在 android 上尝试过了,它似乎只是忽略了分配给 id 字段的给定值,只是为其分配了一个自动递增的值(默认行为)。

有没有办法做到这一点?我想做一些类似插入表(id,name)值(100,“我的名字”)的事情。并让sqlite在表为空时插入id=100而不是id=1的行。

提前致谢。

【问题讨论】:

  • 这对我有用。您可以手动设置 id,但它会将索引计数器增加到至少该 id。因此,之后插入的没有显式 id 的数据将从 101 开始。

标签: android sql sqlite


【解决方案1】:

当您为列指定值时,将使用该值。 (见documentation。)

对我来说,它有效:

> CREATE TABLE t(id INTEGER PRIMARY KEY);
> INSERT INTO t VALUES(NULL);
> INSERT INTO t VALUES(123);
> INSERT INTO t VALUES(NULL);
> SELECT * FROM t;
1
123
124

【讨论】:

  • 谢谢。不知道为什么它以前不起作用:/。
猜你喜欢
  • 2018-12-14
  • 2021-10-06
  • 2019-06-23
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
  • 2017-10-27
相关资源
最近更新 更多