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

可以通过触发器来完成,但是如果可能的话,我宁愿使用默认值。那可能吗?表情看起来如何?

最佳答案

在SQLite中,只有在插入行之后才能获得自动递增的值。

您必须手动更新值:



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


或使用触发器。

07-28 09:34