You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQLAlchemy引擎INSERT语句中指定字段默认值?

使用SQLAlchemy engine.execute()插入时调用列默认值的方法

直接用SQLAlchemy的text()构造DEFAULT关键字传入占位符即可,具体操作如下:

  1. 先导入text工具:
from sqlalchemy import text
  1. 执行INSERT语句时,在需要调用默认值的位置传入text('DEFAULT'):
engine = create_engine("mysql+pymysql://...")
engine.execute("INSERT INTO table VALUES (%s, %s, %s, %s)", v1, v2, text('DEFAULT'), v4)

这样SQLAlchemy会将对应占位符替换为MySQL的DEFAULT关键字,触发目标列的预设默认值,同时不会生成NULL值,完全符合NOT NULL约束要求。

注意:这种写法适配原生SQL占位符(如%s),若使用SQLAlchemy命名占位符(如:param),逻辑一致,同样传入text('DEFAULT')即可。


内容的提问来源于stack exchange,提问作者florian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:39:54