2016-06-20 4 views
-1

я получил 2 таблицы:игнорирований дублировать на вставке

CREATE TABLE 
p(id_p INT AUTO_INCREMENT PRIMARY KEY, 
name_p VARCHAR(50), 
surname_p VARCHAR(50) 
UNIQUE (name_p,surname_p); 

и

CREATE TABLE 
t_int(name_int VARCHAR(40), 
surname_int VARCHAR(40), 
name_m VARCHAR(40), 
surname_m VARCHAR(40), 
cab VARCHAR(50)); 

мне нужно двигаться name_int и surname_int в р таблицы на name_p и surname_p.

Моя проблема заключается в следующем: я не могу сделать уникальный индекс для комбинации name_p и surname_p, и при вставке я получаю ошибку дубликат (есть 300k записей). Так как мне нужно, чтобы все они вставили, что мне делать? Вставить игнорировать недействительный вариант для меня, так как он не собирается вставлять их все.

Мне очень нужна помощь. Спасибо.

+0

Это странно, вы хотите, чтобы 'name_p, surname_p' были уникальными, а также вы хотите вставить в него одинаковое значение. Я думаю, вы должны добавить первичный ключ в свою первую таблицу. – Blank

ответ

0

REPLACE INTO - это то, что вы ищете. Он будет обновлять записи, если они уже существуют, или вставляет новую запись, если она не существует. Это предотвратит вашу «повторяющуюся ошибку», которая, как я полагаю, является ошибкой первичного ключа.

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