我有一个数据库,想要添加一列。这一列应该是时间戳
类型的信息,我希望在完成后每一行都具有相同的时间戳(当前时间)。
目前我尝试了:
cursor.execute('''ALTER TABLE my_table ADD COLUMN time timestamp DEFAULT ?''', (datetime.datetime.utcnow(),))
这导致出现了
sqlite3.OperationalError: near "?": syntax error
的错误。于是我尝试了以下操作:
cursor.execute(f'''ALTER TABLE my_table ADD COLUMN time timestamp DEFAULT {datetime.datetime.utcnow()}''')
导致 sqlite3.OperationalError: near "-": syntax error
错误。
另外,执行以下操作
cursor.execute(f'''ALTER TABLE my_table ADD COLUMN time timestamp DEFAULT CURRENT_TIMESTAMP''')
出现了sqlite3.OperationalError: Cannot add a column with non-constant default
错误。
我如何添加新列并在该列中设置值?(可以通过DEFAULT
或其他机制实现。)