gpt4 book ai didi

python - Sqlalchemy Sqlite Autoincrement 未按预期运行

转载 作者:行者123 更新时间:2023-11-28 22:03:18 28 4
gpt4 key购买 nike

我在使我的脚本以正确的方式递增我的 PK 时遇到了一些问题。按照 sqlalchemy 文档,必须完成一些特殊配置才能使其与 sqlite 一起使用。这是我的脚本:

def db_stuff():
engine = create_engine('sqlite:///test.db', echo=True)
metadata = MetaData()
db = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('fullname', String),
Column('password', String),
sqlite_autoincrement=True)
metadata.create_all(engine)
return engine.connect(),db


def add_to_db():
ret = db_stuff()
conn = ret[0]
db = ret[1]
try:

conn.execute("INSERT INTO users VALUES ('1','john','smith john','23')")
result = conn.execute(db.select())
for row in result:
print row
finally:
conn.close()

如果你能帮我弄清楚我在这里缺少什么,那就太好了,我开始绝望了......问题是“id”每次都不会递增,我得到一个错误,当我运行脚本两次时它应该是唯一的。

TIA

最佳答案

尝试

conn.execute("INSERT INTO users(name, fullname, password) VALUES ('john','smith john','23')")

id 是自动递增的,因此我们不应该传递它,但是我们需要指定表中代表的其他参数,即值 ('john', 'smith john', '23') 应该放在哪里。

它应该可以工作。

关于python - Sqlalchemy Sqlite Autoincrement 未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9391759/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com