Thursday, May 10, 2012

Send Email from MySQL Trigger

  1. CREATE TRIGGER send_emailverifier AFTER INSERT, UPDATE ON tbl_users
  2. FOR EACH ROW BEGIN
  3. SELECT * FROM email_bodies WHERE EmailID = 1;
  4. SELECT * FROM tbl_users WHERE ClientID = @ClientID
  5. INSERT INTO tbl_emailverify VALUES (UUID, tbl_users.ClientID, OLD.CltEmail, NEW.CltEmail)
  6. SELECT concat("To: ",NEW.CltEmail & "," & OLD.CltEmail),
  7.                 "From: triggers@yourmysqlserver.whatever",
  8.                 concat("Subject: ",NEW.subject),
  9.                 "",
  10.                 email_bodies.EmailContent
  11. INTO OUTFILE "/inetpub/mailroot/pickup/mail.eml"
  12. FIELDS TERMINATED BY '\r\n';
  13. END

Send Email from MySQL Trigger

Dump the mail message into the pickup directory and it should be sent.
select “To: email@address.somewhere”,”From: triggers@mysql”,”Subject: Trigger”,”",”Hello World”
into outfile “/inetpub/mailroot/pickup/mail.eml”
fields terminated by ‘\r\n’;

DELIMITER |
CREATE TRIGGER sometable_after_update AFTER UPDATE ON some_table FOR EACH ROW BEGIN
SELECT  concat(“To: “,NEW.mail),
“From: triggers@mysql”,
concat(“Subject: “,NEW.subject),
“”,
NEW.body
INTO OUTFILE “/inetpub/mailroot/pickup/mail.eml”
FIELDS TERMINATED by ‘\r\n’;
END;|
DELIMITER ;

MYSQL Record Clone

How to Clone MYSQL Record ?


4 Steps to Create MYSQL CLONE

1) Create Temporary table (`tbl_modulesss`) and copy from original table (`tbl_modules`) 

2) Update ID in Temporary Table (`tbl_modulesss`) 

3) Insert Temporary table data in to Original table

4) Drop temporary table

Done So Simple


CREATE TEMPORARY TABLE `tbl_modulesss` SELECT * FROM `tbl_modules` WHERE id =11;
UPDATE `tbl_modulesss` SET id =25;

INSERT INTO `tbl_modules` SELECT * FROM `tbl_modulesss`;
DROP TABLE `tbl_modulesss`;