2015-04-10 3 views
-1

У меня возникла проблема, когда я делаю проект в Secure Shell. Я получаю вышеуказанную ошибку, даже если таблица im, пытающаяся вставить, пуста. моя работа включает в себя:ОШИБКА 1062 (23000): Повторяющаяся запись '1' для ключа 'PRIMARY'

CREATE TABLE LARGE_SLIP( 
     MARINA_NUM CHAR(4) PRIMARY KEY NOT NULL, 
     SLIP_NUM CHAR(4) NOT NULL, 
     RENTAL_FEE DECIMAL(8,2), 
     BOAT_NAME CHAR(50), 
     OWNER_NUM CHAR(4)); 
INSERT INTO LARGE_SLIP (
    SELECT MARINA_NUM, SLIP_NUM, RENTAL_FEE, BOAT_NAME, OWNER_NUM 
    FROM MARINA_SLIP WHERE LENGTH = '40'); 
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY' 

Я попытался глядя ответ, но большинство результатов говорят, что что-то было назначено в таблице, им пытаются вставить в. Но таблица пуста. Я все еще участвую, и это действительно для домашней работы в классе. Подсказка:

+2

Ошибка означает, что запрос SELECT возвращает несколько строк с именем MARINA_NUM = 1. – Barmar

ответ

0

Запустить подзапрос самостоятельно, получаете ли вы значения MARINA_NUM?

SELECT MARINA_NUM, SLIP_NUM, RENTAL_FEE, BOAT_NAME, OWNER_NUM 
FROM MARINA_SLIP WHERE LENGTH = '40'; 

Если дублируется вся строка, вы можете использовать UNIQUE. Если нет, вам нужно найти другой способ ограничить строки с помощью значений MARINA_NUM.

+0

Это показывает, что Marina_num реплицирует 1, но они находятся в разных строках, то есть Marina Num (1,1,1) Slip Num (A1, A2, A3) Арендная плата (3800, 3800, 3600) Название лодки (Anderson II, Наша игрушка, побег) Владелец Num (AN75, EL25, KE22) –

+0

Вот почему это ошибка. Не могли бы вы опубликовать некоторые примеры данных и пример того, как вы хотите, чтобы новый набор данных выглядел? –

+0

Он должен выглядеть как таблица внизу, но только там, где длина = 40. [link] (http://i.imgur.com/TJ5jXeR.png) И если вам нравится видеть фактический вопрос в контексте, это страница im смотрит на [ссылка] (http://i.imgur.com/CQa5b.png) –

0

я понял, что проблема была При создании таблицы для этой задачи вы на самом деле создать 2 первичного ключа

CREATE TABLE LARGE_SLIP ( MARINA_NUM CHAR (4) NOT NULL, SLIP_NUM CHAR (4) NOT NULL, RENTAL_FEE DECIMAL (8,2), BOAT_NAME CHAR (50), OWNER_NUM CHAR (4), ПЕРВИЧНЫЙ КЛЮЧ (MARINA_NUM, SLIP_NUM));

Смежные вопросы