MySQL´¥·¢Æ÷
MySQL´¥·¢Æ÷
Ò»¡¢ MySQL´¥·¢Æ÷¸ÅÄî
MySQL5.0ÒÔÉϰ汾֧³Ö´¥·¢Æ÷£¬´¥·¢Æ÷ÊÇÓë±íÓйصÄÃüÃûÊý¾Ý¿â¶ÔÏ󣬵±±í³öÏÖÌØ¶¨Ê¼þʱ£¬½«¼¤»î¸Ã¶ÔÏó¡£
¶þ¡¢ MySQL´¥·¢Æ÷Óï·¨
CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
trigger_time£º´¥·¢¶¯×÷ʱ¼ä£¬¿ÉÒÔÊÇBEFORE»òAFTER£¬ÒÔÖ¸Ã÷´¥·¢³ÌÐòÊÇÔÚ¼¤»îËüµÄÓï¾ä֮ǰ»òÖ®ºó´¥·¢¡£BEFORE updateÄÜ·ñÈ¡µ½new.×Ö¶ÎÖµ£¿BEFORE AFTERʹÓÃʱµÄÇø±ð?
BeforeÓëAfterÇø±ð£ºbefore£º(insert¡¢update)¿ÉÒÔ¶Ônew½øÐÐÐ޸ģ¬after²»ÄܶÔnew½øÐÐÐ޸ġ£Á½Õß¶¼²»ÄÜÐÞ¸ÄoldÊý¾Ý¡£
ÔÚ±¾±í²åÈë×Ö¶ÎÖµÐèÒªÓÃnew¼ÆË㣬ֻÄÜÓÃbefore£¬ÔÚ±ðµÄ±íÖмǼ²åÈë³É¹¦¼Ç¼»òͳ¼Æ²åÈëµÄÌõÊýÓÃafter¡£
trigger_event£º¼¤»î´¥·¢³ÌÐòµÄÓï¾äÀàÐÍ¡£
INSERT£º½«ÐÂÐвåÈë±íʱ¼¤»î´¥·¢³ÌÐò£¬ÈçINSERT¡¢LOAD DATAºÍREPLACEÓï¾ä¡£
UPDATE£º¸ü¸ÄijһÐÐʱ¼¤»î´¥·¢³ÌÐò£¬ÈçUPDATEÓï¾ä¡£
DELETE£º´Ó±íÖÐɾ³ýijһÐÐʱ¼¤»î´¥·¢³ÌÐò£¬ÈçDELETEºÍREPLACEÓï¾ä
trigger_stmt£º´¥·¢³ÌÐò¼¤»îʱִÐеÄÓï¾ä¡£Èç¹ûÄã´òËãÖ´Ðжà¸öÓï¾ä£¬¿ÉʹÓÃBEGIN ... END¸´ºÏÓï¾ä½á¹¹¡£
DELIMITER |
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE from test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END
|
DELIMITER ;
×¢£º
1¡¢ ʹÓñðÃûOLDºÍNEW£¬Äܹ»ÒýÓÃÓë´¥·¢³ÌÐòÏà¹ØµÄ±íÖеÄÁС£OLD.col_nameÔÚ¸üлòɾ³ýËü֮ǰ£¬ÒýÓÃÒÑÓÐÐÐÖеÄ1ÁУ¬ÊÇ·ñ¿ÉÒÔÒý
ÓÃoldÓëtrigger_timeÎ޹أ¬NEW.col_nameÔÚ¸üÐÂËüÖ®ºóÒýÓý«Òª²åÈëµÄÐÂÐеÄ1ÁлòÒÑÓÐÐеÄ1ÁС£
INSERT£ºÖ»¿ÉÒýÓÃNEW¡¢DELETE£ºÖ»¿ÉÒýÓÃOLD¡¢ UPDATE£º¿ÉÒÔÒýÓÃNEW»òOLD¡£
2¡¢¼¤»î´¥·¢³ÌÐòʱ£¬¶ÔÓÚ´¥·¢³ÌÐòÒýÓõÄËùÓÐOLDºÍNEWÁУ¬ÐèÒª¾ßÓÐSELECTȨÏÞ£¬¶ÔÓÚ×÷ΪSET¸³ÖµÄ¿±êµÄËùÓÐNEWÁÐ, ÐèÒª¾ß
ÓÐUPDATEȨÏÞ¡£
3¡¢CREATE TRIGGERÓï
Ïà¹ØÎĵµ£º
ÔÎÄ£ºhttp://blog.csdn.net/gnuhpc/archive/2010/01/01/5118123.aspx
½ö½öÊÇ¿´Ò»Ð©ÊéÊÇÁãÁãɢɢ¼ÇÏµģ¬¸ø×Ô¼º±¸Íü¶øÒÑ¡£½¨ÒéÈ¥¿´×¨ÒµÍøÕ¾µÄ±Ê¼Ç¡£
1.Ö÷¼üµÄÖµ±ØÐëÊÇΨһµÄ£¬²¢ÇÒ²»ÄÜΪ¿Õ£¬Õâ¿ÉÒÔÌá¸ßMySQL´Ó¶à¸ö±íÖÐÈ¡µÃÊý¾Ý»òÕßÈ¡µÃÖ¸¶¨¼üÖµ¶ÔÓ¦µÄÐеÄËÙ¶È¡£MySQLͨ¹ýÒ»¸öÌØÊâµÄ³ÆÎªIndexË÷ÒýµÄÊý¾Ý½á¹¹×öµ½ÕâÒ»µã£¬In ......
http://database.51cto.com/art/200910/155625.htm
±¾ÎĵÄuniqueÁÐÉϲåÈëÖØ¸´Öµ½â¾ö·½°¸£¬Ö÷Òª»ùÓÚMySQLƽ̨¡£Í¨¹ýÕâЩ£¬¿ÉÒÔ×öµ½Ò»Ð©ÐµĹ¦ÄܺÍÓ¦Óá£Ï£Íû±¾ÎÄÄܶԴó¼ÒÓÐËù°ïÖú¡£
µ±uniqueÁÐÔÚÒ»¸öUNIQUE¼üÉϲåÈë°üº¬Öظ´ÖµµÄ¼Ç¼ʱ£¬ÎÒÃÇ¿ÉÒÔ¿ØÖÆMySQLÈçºÎ´¦ÀíÕâÖÖÇé¿ö£ºÊ¹ÓÃIGNORE¹Ø¼ü×Ö»òÕßON DUPLICATE KEY UPDATE×Ó ......
×î½ü×öÁ˼¸ÖܵÄLoadRunner²âÊÔ£¬ÓÐһЩÐĵ㬼ǼÏÂÀ´£¬ÒÔ±ãÒÔºó²éÕÒ¡£
LoadRunner²âÊÔÊý¾Ý¿âÊÇÄ£Äâ¿Í»§¶ËÈ¥Á¬½ÓÊý¾Ý¿â·þÎñÆ÷£¬Òò´Ë£¬ÐèÒªÐÒ飨»òÕß˵Çý¶¯µÄÖ§³Ö£©¡£LoadRunner±¾ÉíÖ±½ÓÖ§³ÖOracle¡¢SqlServerÊý¾Ý¿â£¬ÕâÁ½¸öÊý¾Ý¿âÖ±½ÓÑ¡ÔñÏàÓ¦µÄÐÒé¾Í¿ÉÒÔÂ¼ÖÆ½Å±¾¡£¶øMySqlÊý¾Ý¿â ......
MysqlĬÈϵıàÂëÊÇlatin1£¬ËùÒÔͨ¹ýSqlyog»òÕßJava³ÌÐò¶ÁдÊý¾Ý¿âʱ£¬ÖÐÎͼ½«ÏÔʾΪÂÒÂ룬µ«ÔÚ¿ØÖÆÌ¨Í¨¹ýÃüÁîÐпÉÒÔÏÔʾÖÐÎÄ¡£
ÈçºÎ½â¾öÖÐÎÄÂÒÂëÎÊÌâÄØ£¬¸Ä±äMysqlϵͳµÄ±àÂ뷽ʽ£¬ÔÚMySqlĿ¼ÏµÄmy.iniÎļþÖеÄdefault-character-set=latin1¸ÄΪdefault-character-set=gbk(»òÆäËû),ÔÙÖØÆô·þÎñ¡£µ«ÈÔÈ»ÏÔʾΪÂÒÂ룬ÔÀ ......
×î½üÏëÔÚ·þÎñÆ÷ÉÏÊÔÊÔMySQL5.1µÄ·ÖÇø£¬ÓÚÊǾÍÏë×Å×°¸öMySQL5.1£¬¾¹ýÍ´¿àµÄÒ»¶Î¾Àúºó£¬ÖÕÓÚÕÒ¸öÏÂÃæ×°¸öºÜºÃµÄ½Ì³Ì£¬ÌûÉÏÀ´±¸Íü¡£
1¡¢MySQLÃâ°²×°°æ/¶þ½øÖưæÈí¼þ£¬²»ÓñàÒ룬ÏÂÔØµØÖ·£º
http://dev.mysql.com/downloads/
Îļþ¸ñʽ£ºMYSQL-VERSION-OS.tar.gz
2¡ ......