使用另一列的自动递增索引值作为默认值

时间:2014-06-22 09:22:18

标签: sql sqlite

我使用的是SQLite3,但这更像是一个通用的SQL问题。我需要将主索引值(整数类型,自动递增)复制到插入时同一个表的另一列。

可以通过触发器完成,但如果可能,我宁愿按默认值执行此操作。这可能吗?表达式如何?

1 个答案:

答案 0 :(得分:2)

在SQLite中,直到插入行之后才能获得自动增量值。

您必须手动更新值:

c.execute("INSERT INTO MyTable ...")
c.execute("UPDATE MyTable SET AnotherColumn = ?1 WHERE rowid = ?1",
          [c.lastrowid])

或使用触发器。