如何在SQL Server中将列数据从一个表插入另一个表

时间:2015-04-23 18:11:07

标签: sql-server

我试图将new_file_name表中的document_image_volume1_rename_temp列数据插入document_image_volume1_rename表。两个表都有一列document_image_id

USE myDatabase

INSERT INTO document_image_volume1_rename (new_file_name)
   SELECT 
      new_file_name
   FROM  
      document_image_volume1_rename_temp
   WHERE 
      document_image_volume1_rename.document_image_id = document_image_volume1_rename_temp.document_image_id

以下是错误消息:

  

Msg 4104,Level 16,State 1,Line 10
  多部分标识符" document_image_volume1_rename.document_image_id"无法受约束。

1 个答案:

答案 0 :(得分:2)

我认为您实际需要的是UPDATE查询而不是INSERT查询。如果您不想添加新行但只想修改现有行中的列,请尝试以下操作:

UPDATE t2
SET t2.new_file_name = t1.new_file_name
FROM document_image_volume1_rename_temp t1 INNER JOIN document_image_volume1_rename t2 ON t1.document_image_id = t2.document_image_id

可以在Eric's answer here中找到DBMS对UPDATE查询语法的方便参考。