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

数据迁移时向非空DateTime等字段插入数据的SQL解决方案咨询

SQL数据迁移脚本修改方案

报错原因

新表[Mondo-UAT].[dbo].[Countries]的CreatedDate字段设置为不允许NULL,原INSERT语句未对该字段赋值;同时CreateBy也是非空字段,同样需要明确赋值,否则会触发插入失败。

修改后的完整INSERT脚本

INSERT INTO [Mondo-UAT].[dbo].[Countries] (
    [Country_Name]
    ,[Country_Code]
    ,[Note]
    ,[Status]
    ,[CreateBy]
    ,[CreateDate]
)
SELECT 
    [Code1]
    ,[Code3]
    ,[Name]  -- 旧表Name字段映射到新表Note,若不需要可替换为''或NULL(需确保Note字段允许NULL)
    ,1       -- Status字段赋值为启用状态(bool类型,1代表True,0代表False,按需调整)
    ,1       -- CreateBy赋值为迁移操作的用户ID,替换为实际业务中的合法用户ID即可
    ,GETDATE()  -- CreateDate赋值为当前系统时间,也可指定固定时间如'2024-05-20'
FROM  [MondoErp-UAT].[dbo].[Nations]

各字段赋值说明

  • CreateDate:用GETDATE()获取当前数据库服务器时间作为迁移时的创建时间;若需要统一历史时间,可直接填写固定日期字符串(需符合DateTime格式)。
  • CreateBy:填写执行本次迁移操作的用户ID(需是新系统中存在的合法用户ID),无特定业务要求时可设为默认管理员ID(如1)。
  • Note:延续原脚本逻辑用旧表Name字段填充;若业务不需要,可改为空字符串'',但要确认新表Note字段是否允许NULL。
  • Status:根据业务规则设置默认状态,SQL Server中bool类型用1/0表示True/False,按需调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:10:56