我使用的是SQLite3,但这更像是一个通用的SQL问题。我需要将主索引值(整数类型,自动递增)复制到插入时同一个表的另一列。
可以通过触发器完成,但如果可能,我宁愿按默认值执行此操作。这可能吗?表达式如何?
答案 0 :(得分:2)
在SQLite中,直到插入行之后才能获得自动增量值。
您必须手动更新值:
c.execute("INSERT INTO MyTable ...")
c.execute("UPDATE MyTable SET AnotherColumn = ?1 WHERE rowid = ?1",
[c.lastrowid])
或使用触发器。