воскресенье, 31 марта 2019 г.

Код ошибки: 1062. Дублируемая запись 'PRIMARY'

mysql ошибка 1062

Код ошибки: 1062. Дублируемая запись 'PRIMARY'


Итак, мой профессор дал мне таблицы, чтобы вставить их в базу данных, но когда я выполняю его код, MySQL постоянно дает код ошибки: 1062. Ниже приведены таблицы конфликтов и вставки:
ТАБЛИЦЫ
CREATE TABLE FABRICANTES(
COD_FABRICANTE integer NOT NULL,
NOMBRE         VARCHAR(15), 
PAIS           VARCHAR(15),
primary key (cod_fabricante)
);

CREATE TABLE ARTICULOS(
ARTICULO       VARCHAR(20)NOT NULL,
COD_FABRICANTE integer NOT NULL,
PESO           integer NOT NULL ,
CATEGORIA      VARCHAR(10) NOT NULL,
PRECIO_VENTA   integer,
PRECIO_COSTO   integer,
EXISTENCIAS    integer,
primary key (articulo,cod_fabricante),
foreign key (cod_fabricante) references Fabricantes(cod_fabricante)
);
ВСТАВИТЬ В:
INSERT INTO FABRICANTES VALUES(10,'CALVO', 'ESPAÑA');
INSERT INTO FABRICANTES VALUES(15,'LU', 'BELGICA');
INSERT INTO FABRICANTES VALUES(20,'BARILLA', 'ITALIA');
INSERT INTO FABRICANTES VALUES(25,'GALLO', 'ESPAÑA');
INSERT INTO FABRICANTES VALUES(30,'PRESIDENT', 'FRANCIA');

INSERT INTO ARTICULOS VALUES ('Macarrones',20, 1, 'Primera',100,98,120);
INSERT INTO ARTICULOS VALUES ('Tallarines',20, 2, 'Primera',120,100,100);
INSERT INTO ARTICULOS VALUES ('Tallarines',20, 1, 'Segunda',99,50,100);
INSERT INTO ARTICULOS VALUES ('Macarrones',20, 1, 'Tercera',80,50,100);
INSERT INTO ARTICULOS VALUES ('Atún',10, 3, 'Primera',200,150,220);
INSERT INTO ARTICULOS VALUES ('Atún',10, 3, 'Segunda',150,100,220);
INSERT INTO ARTICULOS VALUES ('Atún',10, 3, 'Tercera',100,50,220);
INSERT INTO ARTICULOS VALUES ('Sardinillas',10, 1,'Primera',250,200,200);
INSERT INTO ARTICULOS VALUES ('Sardinillas',10, 1,'Segunda',200,160,200);
INSERT INTO ARTICULOS VALUES ('Sardinillas',10, 1,'Tercera',100,150,220);
INSERT INTO ARTICULOS VALUES ('Mejillones',10, 1, 'Tercera',90,50,200);
INSERT INTO ARTICULOS VALUES ('Mejillones',10, 1, 'Primera',200,150,300);
INSERT INTO ARTICULOS VALUES ('Macarrones',25, 1, 'Primera',90,68,150);
INSERT INTO ARTICULOS VALUES ('Tallarines',25, 1, 'Primera',100,90,100);
INSERT INTO ARTICULOS VALUES ('Fideos',25, 1, 'Segunda',75,50,100);
INSERT INTO ARTICULOS VALUES ('Fideos',25, 1, 'Primera',100,80,100);
INSERT INTO ARTICULOS VALUES ('Galletas Cuadradas',15, 1, 'Primera',100,80,100);
INSERT INTO ARTICULOS VALUES ('Galletas Cuadradas',15, 1, 'Segunda',70,50,100);
INSERT INTO ARTICULOS VALUES ('Galletas Cuadradas',15, 1, 'Tercera',50,40,100);
INSERT INTO ARTICULOS VALUES ('Barquillos',15, 1, 'Primera',100,80,100);
INSERT INTO ARTICULOS VALUES ('Barquillos',15, 1, 'Segunda',100,80,100);
INSERT INTO ARTICULOS VALUES ('Canutillos',15, 2, 'Primera',170,150,110);
INSERT INTO ARTICULOS VALUES ('Canutillos',15, 2, 'Segunda',120,150,110);
INSERT INTO ARTICULOS VALUES ('Leche entera',30, 1, 'Primera',110,100,300);
INSERT INTO ARTICULOS VALUES ('Leche desnat.',30, 1, 'Primera',120,100,300);
INSERT INTO ARTICULOS VALUES ('Leche semi.',30, 1, 'Primera',130,110,300);
INSERT INTO ARTICULOS VALUES ('Leche entera',30, 2, 'Primera',210,200,300);
INSERT INTO ARTICULOS VALUES ('Leche desnat.',30, 2, 'Primera',220,200,300);
INSERT INTO ARTICULOS VALUES ('Leche semi.',30, 2, 'Primera',230,210,300);
INSERT INTO ARTICULOS VALUES ('Mantequilla',30, 1, 'Primera',510,400,200);
INSERT INTO ARTICULOS VALUES ('Mantequilla',30, 1, 'Segunda',450,340,200);
ОШИБКА:
Error Code: 1062. Duplicate entry 'Macarrones-20' for key 'PRIMARY'
Если я удалю эту строку, я получаю ту же ошибку, но с "Tallarines-20"
Извините, если есть ошибка заклинания. Спасибо!
Вы пытаетесь вставить две строки с одним и тем же основным ключом.
INSERT INTO ARTICULOS VALUES ('Tallarines',20, 2, 'Primera',120,100,100);
INSERT INTO ARTICULOS VALUES ('Tallarines',20, 1, 'Segunda',99,50,100);
Вам, вероятно, нужно добавить CATEGORIA в ваш первичный ключ для таблицы ARTICULOS, потому что вы пытаетесь вставить несколько строк с одним и тем же основным ключом несколько раз.
primary key (articulo,cod_fabricante, categoria)Этот код ошибки 1062 происходит из-за дублирования записи. Вы пытаетесь вставить значение, которое уже существует в поле первичного ключа. Недавно я решил эту проблему, добавив auto_increment в поле первичного ключа. Я выполнил исправление, приведенное в этом сообщении как решить код ошибки mysql: 10У меня была такая же ошибка при попытке установить столбец в качестве первичного ключа. Я просто удалил столбец и воссоздал его, что позволило мне назначить его в качестве первичного ключа. Это также устраняет ошибку # 1075, где требуется, чтобы столбец автоматического инкремента был ключом (если вы попытаетесь установить столбец для автоматического увеличения).
7 и 8th INSERT равны. Вы не можете ввести более одной строки с одним и тем же основным ключом. Обратите внимание, что ваш первичный ключ - это набор: (articulate, cod_fabricante), поэтому любая строка с теми же articulate и cod_fabricante будет генерировать ошибку 1062.
INSERT INTO ARTICULOS VALUES ('Tallarines',20, 2, 'Primera',120,100,100);
INSERT INTO ARTICULOS VALUES ('Tallarines',20, 1, 'Segunda',99,50,100);
Удалите одну из строк или измените первичный ключ одного из нихУ вас есть ошибка дублирующего ключа во второй таблице ARTICULOS. у вас есть первичный ключ с комбинацией из двух столбцов (articulo, cod_fabricante).
Таким образом, все строки однозначно определяются в комбинации этих столбцов. удалите повторяющиеся строки из второй таблицы или замените первичный ключ.