MYSQL: как избежать вставки повторяющихся записей? - PullRequest
0 голосов
/ 29 июня 2018

Я делаю оператор вставки следующим образом:

Insert into table2 (host, ip, domain, statusnew) 
select hostname, ip, domain, "True" from table1 t1, table2 t2 
where t1.status = "Done"
and t2.statusnew not regexp "True"
limit 10
;

Я добавил утверждение t2.statusnew not regexp "True" только для того, чтобы убедиться, что нет повторяющихся вставок. Но это добавляет дубликаты строк.

Как убедиться, что нет повторяющихся записей?

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Привет, вы можете использовать ключевое слово IGNORE, чтобы избежать дублирования записи. Как:

  • INSERT IGNORE INTO сотрудник (фамилия, имя, имя) ЗНАЧЕНИЯ ('Rinku', 'Gohel');
0 голосов
/ 29 июня 2018
INSERT INTO TABLE_2
  (id, name)
SELECT t1.id,
       t1.name
  FROM TABLE_1 t1
 WHERE NOT EXISTS(SELECT id FROM TABLE_2 t2 WHERE t2.id = t1.id)
...