大家好,我在這裏有一些小問題。這個想法很簡單。每次我在主表中插入新行時,我需要將值提取到子表。在mysql中使用觸發器從主表中查找超時和超時
主表:
+--------+------------+-------+
+ id + dates + time +
+--------+------------+-------+
+ 101 + 2017/07/24 + 07:12 +
+ 101 + 2017/07/24 + 16:02 +
+ 102 + 2017/07/24 + 07:10 +
+ 102 + 2017/07/24 + 15:58 +
+ 103 + 2017/07/24 + 07:02 +
+ 103 + 2017/07/24 + 16:05 +
+ 101 + 2017/07/25 + 07:10 +
+ 101 + 2017/07/25 + 15:34 +
+ 102 + 2017/07/25 + 07:00 +
+ 102 + 2017/07/25 + 16:38 +
+ 103 + 2017/07/25 + 07:02 +
+ 103 + 2017/07/25 + 16:18 +
然後我們去爲每個新行插入到主表時引發的子表。該表應該是這樣的:
+--------+------------+---------+----------+
+ id + dates + time_in + time_out +
+--------+------------+---------+----------+
+ 101 + 2017/07/24 + 07:12 + 16:02 +
+ 102 + 2017/07/24 + 07:10 + 15:58 +
+ 103 + 2017/07/24 + 07:02 + 16:05 +
+ 101 + 2017/07/25 + 07:10 + 15:34 +
+ 102 + 2017/07/25 + 07:00 + 16:38 +
+ 103 + 2017/07/25 + 07:02 + 16:18 +
Usualy,我讓這個SQL代碼來生成子表:
INSERT INTO child_table (id, dates, time_in, time_out)
SELECT id, dates, MIN(time) as time_in, MAX(time) as time_out FROM
master_table GROUP BY dates, id
之前,我意識到,我的代碼需要更長的時間來加載頁面。我認爲使用觸發器會很有效率。請幫助:)
有什麼問題?你說:「每當新行被插入到主人觸發的子表」,你似乎已經使用觸發器 – Ashish451
@ Ashish451看起來像OP是手動插入到子表中的行。 –
@ Ashish451觸發,我的意思是生成。 :) –