2012-03-09 3 views
0

Я попытался вставить из одной таблицы в другую, а im с избыточным. Я придумал запрос, но каждый раз, когда я его выполняю, он не может иметь дело с дубликатом , вот мой запрос ...как вставить без дубликата из одной таблицы в другую

INSERT INTO balik (balik_date, balik_time, balik_cardID, balik_status,balik_type) 
select current_date(), '00:00:00', L_CardID, 'BELUM BALIK', L_Type 
FROM logdetail t1 
LEFT JOIN balik t2 ON (t1.L_CardID = t2.balik_cardID) 
WHERE t1.L_Type = 'IN' 

любая помощь будет принята с благодарностью

+1

Как _would_ вы хотели бы иметь дело с дубликатами, и какими столбцы являются уникальными? –

+0

Является ли [это] (http://www.tutorialspoint.com/mysql/mysql-handling-duplicates.htm) полезным? – Vikram

+0

Joachim: те (balik_date, balik_time, balik_cardID) - мои PK ... я просто не хочу, чтобы какие-либо дубликаты данных были вставлены в мою таблицу балликов. ... посоветуйте мне ... спасибо за ваш ответ. –

ответ

0

Использование INSERT IGNORE мгновением INSERT.

Используйте INSERT IGNORE, а не INSERT. Если запись не дублирует существующую запись , MySQL вставляет ее как обычно. Если запись представляет собой дубликат , ключевое слово IGNORE говорит MySQL, чтобы он молча удалял его без возникновения ошибки.

ИЛИ

Проверить количество строк для уникального поля. Если строка существует, не вставляйте и не обновляйте.

ИЛИ

Использование REPLACE вместо INSERT. Если запись новая, она вставлена ​​ так же, как и в INSERT. Если это дубликат, то новая запись заменяет старых один:

Источника для определения MySQL Handling Duplicates

+0

Могу я просто использовать этот запрос? спасибо за ур ... –

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