小编chr*_*orn的帖子

INSERT 语句错误消息引用列我没有包含在查询中

我正在使用 MSSQL 2008。

我的 INSERT 语句如下:

INSERT INTO [DB1].[dbo].[SpotArtSong](ID)
SELECT  SNG.S_ID
FROM [DB1].[dbo].[SpotArtSong] SPOT
INNER JOIN [DB2].[dbo].[nt-art] ART 
ON ART.Artist_Name LIKE SPOT.[Artist]+'%'
INNER JOIN [DB2].[dbo].[nt-sng] SNG 
ON ART.Artist_ID  = SNG.Artist_ID
AND left(SNG.SONG_TITLE,10) = left(SPOT.[Song],10)
WHERE spot.BDSID is NULL
Run Code Online (Sandbox Code Playgroud)

[DB1].[dbo].[SpotArtSong] 上的 [ID] 列有一些我试图替换的空值。我找到了替换项,在查看完整的列结果时,我对从 SNG.S_ID 返回的搜索结果感到满意。我正在尝试将该一列插入到 [DB1].[dbo].[SpotArtSong] 上的一列中。

本质上,我将一些数据报废到 [DB1].[dbo].[SpotArtSong] 中,并将其与 [DB2].[dbo].[nt-art] (ART) 和 [DB2] 之间的一些现有生产数据进行匹配.[dbo].[nt-sng] (SNG)。我知道 ART 和 SNG 中的数据是正确的,我正在将其与 SPOT 中报废的数据相关联

失败声明说:

Cannot insert the value NULL into column 'Artist', table 
'DB1.dbo.SpotArtSong'; column does not allow nulls. INSERT 
fails.
The …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server

1
推荐指数
1
解决办法
495
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1