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

将MySQL默认值语法转换为Snowflake时遇语法错误求助

MySQL转Snowflake:给列添加默认时间戳的正确语法

问题分析

报错原因是Snowflake中给已存在列添加默认值的语法与MySQL不同,且CURRENT_TIMESTAMP作为内置函数,设置默认值时不需要加括号。

正确写法

场景1:给已存在的DateAdded列添加默认值

如果Stg.claim表中已有DateAdded列,需用ALTER COLUMN语句设置默认值:

ALTER TABLE Stg.claim ALTER COLUMN DateAdded SET DEFAULT CURRENT_TIMESTAMP;

场景2:同时添加DateAdded列并设置默认值

若表中还没有DateAdded列,新增列时可直接附带默认值:

ALTER TABLE Stg.claim ADD COLUMN DateAdded TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

补充说明

  • Snowflake的CURRENT_TIMESTAMP返回当前会话的时间戳,与MySQL的getdate()功能一致
  • 语法区分:修改现有列默认值用ALTER COLUMN ... SET DEFAULT;新增列时直接在列定义后追加DEFAULT配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:20:34