首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQLAlchemy将列更新为默认值

使用SQLAlchemy将列更新为默认值
EN

Stack Overflow用户
提问于 2015-11-17 22:29:51
回答 2查看 2K关注 0票数 2

我想要更新mysql数据库中的一行,并使用该列的默认值。我试着做这件事

代码语言:javascript
复制
session.query(TableName).update({'column1': None,
                            'column2': None,
                            'column3': None}, False)

但它并没有起作用。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2018-07-09 16:41:28

如果您在这些窗口项上设置了服务器默认值,则可以执行以下操作:

代码语言:javascript
复制
session.query(TableName).update({'column1': sa.text('default'),
                                 'column2': sa.text('default'),
                                 'column3': sa.text('default')}, False)
票数 2
EN

Stack Overflow用户

发布于 2015-11-17 23:53:35

要将值设置为默认值,该列必须已设置为NOT NULL (在SQLAlchemy中为nullable=False)并具有默认值。这可以在数据库级别或在数据库中定义结构时完成。

在update查询中,如果您将该值设置为NULL (在Python语言中为None ),那么它将获得默认设置。(这对于MySQL是正确的,不确定SQLAlchemy是否试图干预。)

要将现有列更新为NOT NULL并为其提供默认值,请参见these SO questions

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33759462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档