Вставка отдельных записей в базу данных

0

У меня есть две таблицы с точно такими же полями. Таблица A содержит 7160 записей и записей таблицы B 7130. Теперь я хочу вставить различные записи из таблицы A в таблицу B, чтобы B не должен иметь в себе дублирующую запись. Как мне это сделать?

Теги:

3 ответа

1
Лучший ответ

Это в основном выбирает записи, которые находятся в A, которые не находятся в B. Это сработает, но вам может потребоваться настроить поле, которое вы используете, чтобы однозначно идентифицировать запись. В этом примере я использовал поле 'ID', но вам, возможно, придется изменить это на A.field1 = B.field1 AND A.field2 = B.field2 и т.д.

INSERT INTO TABLEB
(
SELECT A.*
FROM TABLEA A
LEFT JOIN TABLEB B ON A.ID = B.ID
WHERE B.ID IS NULL
)
1

Вы можете использовать запрос объединения, чтобы объединить результаты из нескольких таблиц в один результирующий набор. "union" будет возвращать только отдельные строки из всех таблиц.

Смотрите эту страницу для получения дополнительной информации:

http://www.tutorialspoint.com/mysql/mysql-union-keyword.htm

0
insert into tableB (id)
select t1.id from tableA t1
where t1.id not in (select t2.id from tableB t2)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню