1
每當在'table1'中插入新行時,我一直很難弄清楚如何使'table2'根據'table1'中的值更新它的值。根據插入到table1中的內容,觸發器可能需要在表2中插入新行,或者僅更新table2中現有行中的值。我使用'load data infile'和文本文件每次向'table1'插入幾千行。如果可能的話,我希望表2中的更新在整個文件插入到'table1'後發生,而不是在插入每行之後。任何幫助將不勝感激。下面我列出了table1的定義以及我在table2中需要的。用於加載數據infile的mysql觸發器
//Table1
create table table1 (
V1 varchar(5),
V2 varchar(5),
V3 date,
V4 double,
V5 date,
V6 double,
V7 double,
Primary Key (V1,V2,V3,V4,V5));
//Table2
V1 - Same as table1
V2 - Same as table1
V3 - Same as table1
V4 - Same as table1
V5 date - minimum of V5 in table1
V6 date - maximum of V5 in table1
我決定走不同的路線。我發現MySQL觸發器的一個限制是它們必須在每一行之後執行,並且如果使用'load data infile'一次插入幾千行,這會產生很大的開銷。相反,我寫了一個簡短的小方法,在將整個文件插入數據庫後,我的java應用程序只運行一次。 – Riggster 2012-05-01 21:04:49