|  |  | 
          
            | ผมต้องการจะเก็บ log การทำงานของ user โดยใช้ trigger เก็บข้อมูลต่างๆดังต่อไปนี้ 
 //ตาราง user ใช้เก็บ user ที่เข้ามาใช้งานในระบบ
 
 
 
create table user
(user varchar(50),
pass varchar(50)
);
 
 //ตาราง work ใช้เก็บงานที่อยู่ในระบบ
 
 
 
create table work
(work_id varchar(50),
work_name varchar(50),
work_content varchar(50)
);
 
 //ตาราง log_work ใช้เก็บการทำงานที่ทำให้เกิดการเปลี่ยนแปลงในตาราง work
 
 
 
create table log_work
(work_id varchar(50),
work_name_old varchar(50),
work_name_new varchar(50),
work_content_old varchar(50),
work_content_new varchar(50),
action varchar(50),//การทำงาน เช่น insert update delete
time date, //เวลาที่ทำ
user varchar(50) //ผู้ที่ทำ
);
 
 // trigger ที่ใช้เพิ่มข้อมูลลงไปในตาราง  log_work เมื่อมีการ update ข้อมูลในตาราง work
 
 
 
create trigger tri_up_log_work
AFTER update ON work
FOR EACH ROW
begin
insert into log_work values(old.work_id,old.work_name,new.work_name,old.work_content,new.work_content,'update',now(),'user');
end;
 
 โดยระบบของผมคือเมื่อ user login เข้าระบบมาทำการแก้ไขข้อมูล trigger ก็จะเอาชื่อ user ของผู้ที่เข้ามา update ไปเ็ก็บไว้ในตาราง log_work เพื่อแสดงผู้ที่ทำการ update ด้วย
 
 ซึ้งปัญหาคือ trigger มันไม่รู้จัก user ผมควรแก้ไขยังไงดีอ่ะครับ
 
 
 
 Tag : PHP, MySQL
 
 
 |  
            |  |  
            | 
              
                |  |  |  |  
                |  | 
                    
                      | Date :
                          2013-08-13 13:15:22 | By :
                          99thSecret | View :
                          1593 | Reply :
                          2 |  |  |  
                |  |  |  |  |  
            |  |  
		            |  |