Нарушение ограничения PRIMARY KEY. Невозможно вставить дубликат ключа в объект - SQL Сервер - простая таблица - PullRequest
0 голосов
/ 28 января 2020

Я взглянул на некоторые другие ответы на этот вопрос, но как новичок они не совсем имели смысла.

Может кто-нибудь сообщить, что мне нужно изменить в приведенных ниже запросах, чтобы предотвратить ошибку

Нарушение ограничения PRIMARY KEY 'PK__Coding_I__C2232422662DE1EF'. Невозможно вставить повторяющийся ключ в объект 'dbo.Coding_Interview'. Значение дубликата ключа: (1)

Заранее спасибо.

create database Interview_Questions 

CREATE TABLE Coding_Interview 
(
    employee_id INT NOT NULL,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    gender VARCHAR(30) NOT NULL,
    position VARCHAR(30) NOT NULL,
    department_id INT NOT NULL,
    salary INT NOT NULL,
    PRIMARY KEY (department_id),
    UNIQUE (employee_id)
);

INSERT INTO Coding_Interview 
    (employee_id, first_name, last_name, gender, position, department_id, salary) 
VALUES 
    (2002, 'Super', 'Man', 'M', 'Tester', 1, 75000 ),
    (2003, 'Jessica', 'Liyers', 'F', 'Architect', 1, 60000 ),
    (2004, 'Bonnie', 'Adams', 'F', 'Project Manager', 1, 80000), 
    (2005, 'James', 'Madison', 'M', 'Software Developer', 1, 55000),
    (2006, 'Michael', 'Greenback', 'M', 'Sales Assistant', 2, 85000), 
    (2007, 'Leslie', 'Peters', 'F', 'Sales Engineer', 2, 76000), 
    (2008, 'Max', 'Powers', 'M', 'Sales Representative', 2, 59000), 
    (2009, 'Stacy', 'Jacobs', 'F', 'Sales Manager', 2, 730000), 
    (2010, 'John', 'Henery', 'M', 'Sales Director', 2, 90000); 

1 Ответ

2 голосов
/ 28 января 2020

Прежде всего ваша таблица и вставка данных, указывающих на то, что ваша таблица имеет отношение Many: 1 к таблице отделов (при условии, что таблица отделов существует). В этом случае «employee_id» станет первичным ключом, а «Department_id» будет внешним ключом. Другой способ - вы можете создать составной первичный ключ на основе ваших требований. Вы можете сослаться на это для Создание внешнего ключа

...