【问题标题】:how to copy data from one SQL column table to another SQL column table如何将数据从一个 SQL 列表复制到另一个 SQL 列表
【发布时间】:2015-01-28 11:09:44
【问题描述】:

在以下方面需要帮助。如何将数据从一个 SQL 列表复制到另一个 sql 列表?

我有以下表格

dbo.Thecat62 和 dbo.thecase6

在 dbo.Thecat62 中,我需要将 Work_Order_Job_Start_Date 列的值复制到 dbo.thecase6 列 Job_Start_Date。目前dbo.thecase6的Job_Start_Date列有空值。

我尝试过使用以下命令

插入到 dbo.thecase6 (Job_Start_Date) 选择 Work_Order_Job_Start_Date FROM dbo.thecat62

但收到错误无法将值 NULL 插入列“CaseNo”,表“Therefore.dbo.TheCase6”;列不允许空值。插入失败。 声明已终止。

任何帮助都会很棒!

谢谢!

【问题讨论】:

    标签: mysql sql-server database sql-server-2008 tsql


    【解决方案1】:

    因为在此表上 Therefore.dbo.TheCase6CaseNo 您指定了 Not NULL 约束 像这样的

    CaseNo int NOT NULL
    

    但是您没有从dbo.thecat62 表中选择CaseNo 列,因此您明确尝试将空值插入到不可为空的列中。

    您也只需要选择CaseNo 列,假设它在源表中不包含任何空值。

    INSERT INTO dbo.thecase6 (Job_Start_Date,CaseNo) 
    SELECT Work_Order_Job_Start_Date,CaseNo FROM dbo.thecat62
    

    【讨论】:

    • 感谢您的回复。我已将 caseno 与另一个名为 Job_Number 的列一起添加,因为没有 job_number,它也会抛出错误 Cannot insert the value NULL into column 'Job_Number', table 'Therefore.dbo.TheCase6';列不允许空值。插入失败。因此,我添加了 job_number,但随后显示错误违反 PRIMARY KEY 约束“TheCase6PK”。无法在对象“dbo.TheCase6”中插入重复键。既然这是问题所在,那么更新而不是插入会起作用吗?我将如何进行更新查询?
    【解决方案2】:

    错误说它有一个不允许 NULL 的列 CaseNo。

    无法将值 NULL 插入到列“CaseNo”、表“Therefore.dbo.TheCase6”中;

    您将在新表中插入行,其中仅填充 1 列,其余列将为空

    要么 更改要插入数据的表并允许列允许空值。 要么 如果您不想允许空值,请将空值更新为一些默认值。

    【讨论】:

      猜你喜欢
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多