2015-08-10 3 views
0

Предположим, у меня есть две таблицы t1 и одинаково структурированной таблицы bak_t1bak_t1 .table уже имеет некоторые строки из t1 .Теперь я хочу создать MySQL хранимые процедуры, которые при выполнении вставок только те строки из t1 в bak_t1, которые оставляются для включения на bak_t1 и не вставлять ранее вставленные строки.создания резервной копии таблицы с помощью процедуры

ответ

1

Используйте INSERT INTO .. SELECT FROM построить, как показано ниже, используя EXISTS

insert into bak_t1 
select * from t1 where not exists (
select 1 from bak_t1 where some_id_column <> t1.some_id_column); 

Вы можете также использовать LEFT JOIN для этой цели, как

insert into bak_t1 
select t1.* from t1 
left join bak_t1 where t1.some_id_column = bak_t1.some_id_column 
where bak_t1.some_column is null; 
Смежные вопросы