我正在使用SQLite3,但这更多是一个通用的SQL问题。我需要将主索引值(整数类型,自动递增)复制到插入时同一表的另一列。
可以通过触发器来完成,但是如果可能的话,我宁愿使用默认值。那可能吗?表情看起来如何?
最佳答案
在SQLite中,只有在插入行之后才能获得自动递增的值。
您必须手动更新值:
c.execute("INSERT INTO MyTable ...")
c.execute("UPDATE MyTable SET AnotherColumn = ?1 WHERE rowid = ?1",
[c.lastrowid])
或使用触发器。