【发布时间】:2019-03-14 10:54:51
【问题描述】:
IMDB database Image to database structure FletNix
INSERT INTO FletNix_2.dbo.Movie_Cast
SELECT cast(Pid AS int) AS person_id,
cast(Mid AS int) AS movie_id,
LEFT(Role, 255) AS role
FROM MYIMDB.dbo.Imported_Cast
INSERT INTO FletNix_2.dbo.Movie_Directors
SELECT cast(Did AS int) AS person_id,
cast(Mid AS int) AS movie_id
FROM MYIMDB.dbo.Imported_Movie_Directors
错误按摩:
消息 2627,级别 14,状态 1,第 71 行违反主键 约束“pk_moviecast”。无法在对象中插入重复键 'dbo.Movie_Cast'。重复键值为 ((Unknown))。
消息 547,级别 16,状态 0,第 77 行 INSERT 语句冲突 具有 FOREIGN KEY 约束“fk_directors_Person”。冲突 发生在数据库“FletNix_2”、表“dbo.Person”、列 'person_id'。
我知道我需要使用 distinct,但是当我这样做时
INSERT INTO FletNix_2.dbo.Movie_Cast
SELECT cast(Pid AS int) AS person_id,
cast(Mid AS int) AS movie_id,
distinct LEFT(Role, 255) AS role
FROM MYIMDB.dbo.Imported_Cast
它给出了一个错误: 不同的语法不正确
当我在 SELECT 之后放置 distinct 时,我仍然得到一个错误:
违反主键约束“pk_moviecast”。无法插入 对象“dbo.Movie_Cast”中的重复键。重复键值为 ((未知))
与
INSERT 语句与 FOREIGN KEY 约束冲突 “fk_directors_Person”。数据库“FletNix_2”中发生冲突, 表“dbo.Person”,列“person_id”。
【问题讨论】:
标签: sql sql-server-2008