Я создал новую таблицу в другой базе данных с именем «работники»:
CREATE TABLE workers (
ID_WORKER int(11) NOT NULL,
FNAME varchar(20) NOT NULL,
LNAME varchar(20) NOT NULL,
WORKERS_GROUP varchar(20) NOT NULL,
POSITION varchar(50) NOT NULL,
CARD_NUMBER varchar(30) NOT NULL
)
Какой столбец 'ID_WORKER' установлен на AUTO_INCREMENT. Тогда я впервые вставил только одну запись:
INSERT INTO workers (FNAME, LNAME, WORKERS_GROUP, POSITION, CARD_NUMBER)
VALUES ('Paul', 'King', 'IT', 'Programmer', '');
Но в следующий раз я попробовал вставить другие методы (которые я опишу, что я пробовал), и у меня было несколько дубликатов.
Что я пробовал?
Я пробовал вставить без дубликатов как минимум 3 метода:
1) ВСТАВИТЬ ИГНОРА В:
INSERT IGNORE INTO workers (FNAME, LNAME, WORKERS_GROUP, POSITION, CARD_NUMBER)
2) ЗАМЕНИТЬ НА:
REPLACE INTO workers (FNAME, LNAME, WORKERS_GROUP, POSITION, CARD_NUMBER)
VALUES ('Paul', 'King', 'IT', 'Programmer', '');
3) ПО ВСТАВЛЕНИЮ ... НА ДУБЛИКОВАТЬ КЛЮЧ ОБНОВЛЕНИЯ:
INSERT INTO workers (FNAME, LNAME, WORKERS_GROUP, POSITION, CARD_NUMBER)
VALUES ('Paul', 'King', 'IT', 'Programmer', '')
ON DUPLICATE KEY UPDATE FNAME = 'Paul' AND LNAME = 'King' AND WORKERS_GROUP = 'IT' AND POSITION = 'Programmer' AND CARD_NUMBER = ''
И никто из них не работал. Я понятия не имею или не знаю, где я могу их найти. Любые идеи, спасибо за любую помощь.
EDIT
Что касается дубликатов, то могут быть все из них, но в этом случае работник с тем же FNAME, LNAME
может быть в том же WORKER_GROUP
, если у него / нее должны быть другие POSITION
и CARD_NUMBER
.