请教 sqlalchemy 这两个操作...(清空表、重置自增长 id)

2020-01-11 11:44:47 +08:00
 qazwsxkevin

以前用 Core 模式操作数据库,我是这样操作的:

SQLResult = sqlconn.execute(f"TRUNCATE TABLE `newadd`;")
print("清空 [newadd] 表...")

SQLResult = sqlconn.execute(f"ALTER  TABLE  `newadd` DROP `id`;")
print("去除 [newadd] 表 [id] 列...")

SQLResult = sqlconn.execute(f"ALTER  TABLE  `newadd` ADD id int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT FIRST;")
print("[newadd] 表 增加 [id] 列...")

现在表的设计,已经稳定下来了,为了方便 query,update 等操作,大部分表改成 ORM 方式去操作,
看了 sqlalchemy 的官方文档和一些网上找到的资料,似乎清表,重置自增长 id 这些操作,除了直接执行原生 sql 语句,似乎没有什么更好的 ORM 封装操作了吧?

3666 次点击
所在节点    Python
2 条回复
qile1
2020-01-12 00:00:51 +08:00
sqlalchemy 可以更新自增 id 的,相当于 select updata
百度一下也会有的,但是链接 mssql 数据库就不好搞了. ,flask 一直不行
qazwsxkevin
2020-01-12 00:29:17 +08:00
@qile1 谢谢解答,身边也只是我一个在捣鼓 sqlalchemy,没有办法求证一些事情,只能发帖求个回响
硬核一些,直接.execute 组装的 str 类型原生 sql 语句,其实问题也不大,只是我刚从 Core 模式转换到 ORM 模式来操作,想求证一下 ORM 是否有这种操作而已,或者还有更好的 ORM API,或者高手封装得更好的轮子。。。^_^

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/637039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX