Mysql ÊÂÎñ´¦Àí
¡¡¡¡ÊÂÎñÊÇDBMSµÃÖ´Ðе¥Î»¡£ËüÓÉÓÐÏÞµÃÊý¾Ý¿â²Ù×÷ÐòÁÐ×é³ÉµÃ¡£µ«²»ÊÇÈÎÒâµÃÊý¾Ý¿â²Ù×÷ÐòÁж¼ÄܳÉΪÊÂÎñ¡£Ò»°ãÀ´Ëµ£¬ÊÂÎñÊDZØÐëÂú×ã4¸öÌõ¼þ£º£¨ACID£©
¡¡¡¡Ô×ÓÐÔ£¨Autmic£©£ºÊÂÎñÔÚÖ´ÐÐÐÔ£¬Òª×öµ½“Ҫô²»×ö£¬ÒªÃ´È«×ö£¡”£¬¾ÍÊÇ˵²»ÔÊÐíÊÂÎñ²¿·ÖµÃÖ´ÐС£¼´Ê¹ÒòΪ¹ÊÕ϶øÊ¹ÊÂÎñ²»ÄÜÍê³É£¬ÔÚrollbackʱҲҪÏû³ý¶ÔÊý¾Ý¿âµÃÓ°Ï죡
¡¡¡¡Ò»ÖÂÐÔ£¨Consistency£©£ºÊÂÎñµÃ²Ù×÷Ó¦¸ÃʹʹÊý¾Ý¿â´ÓÒ»¸öÒ»ÖÂ״̬ת±äµ¹ÁíÒ»¸öÒ»ÖµÃ״̬£¡¾ÍÄÃÍøÉϹºÎïÀ´Ëµ°É£¬ÄãÖ»Óм´ÈÃÉÌÆ·³ö¿â£¬ÓÖÈÃÉÌÆ·½øÈë¹Ë¿ÍµÃ¹ºÎïÀº²ÅÄܹ¹³ÉÊÂÎñ£¡
¡¡¡¡¸ôÀëÐÔ£¨Isolation£©£ºÈç¹û¶à¸öÊÂÎñ²¢·¢Ö´ÐУ¬Ó¦Ïó¸÷¸öÊÂÎñ¶ÀÁ¢Ö´ÐÐÒ»Ñù£¡
¡¡¡¡³Ö¾ÃÐÔ£¨Durability£©£ºÒ»¸ö³É¹¦Ö´ÐеÃÊÂÎñ¶ÔÊý¾Ý¿âµÃ×÷ÓÃÊdz־õ㬼´Ê¹Êý¾Ý¿âÓ¦¹ÊÕϳö´í£¬Ò²Ó¦¸ÃÄܹ»»Ö¸´£¡
¡¡¡¡
MYSQLµÄÊÂÎñ´¦ÀíÖ÷ÒªÓÐÁ½ÖÖ·½·¨¡£
1¡¢ÓÃbegin,rollback,commitÀ´ÊµÏÖ£¨ÕâÖÖ·½Ê½ÊÇ×î³£Óõģ©
begin ¿ªÊ¼Ò»¸öÊÂÎñ£¨Ò»°ã¶¼ÓÃSTART TRANSACTION¸ü¼ÓÃ÷ÁË£©
rollback ÊÂÎñ»Ø¹ö
commit ÊÂÎñÈ·ÈÏ
2¡¢Ö±½ÓÓÃsetÀ´¸Ä±ämysqlµÄ×Ô¶¯Ìύģʽ
MYSQLĬÈÏÊÇ×Ô¶¯Ìá½»µÄ£¬Ò²¾ÍÊÇÄãÌá½»Ò»¸öQUERY£¬Ëü¾ÍÖ±½ÓÖ´ÐУ¡ÎÒÃÇ¿ÉÒÔͨ¹ý
set autocommit=0 ½ûÖ¹×Ô¶¯Ìá½»
set autocommit=1 ¿ªÆô×Ô¶¯Ìá½»
À´ÊµÏÖÊÂÎñµÄ´¦Àí¡£µ«×¢Òâµ±ÄãÓà set autocommit=0 µÄʱºò£¬ÄãÒÔºóËùÓеÄSQL¶¼½«×öΪÊÂÎñ´¦Àí£¬Ö±µ½ÄãÓÃcommitÈ·ÈÏ»òrollback½áÊø£¬×¢Òâµ±Äã½áÊøÕâ¸öÊÂÎñµÄͬʱҲ¿ªÆôÁ˸öеÄÊÂÎñ£¡°´µÚÒ»ÖÖ·½·¨Ö»½«µ±Ç°µÄ×÷Ϊһ¸öÊÂÎñ£¡¸öÈËÍÆ¼öʹÓõÚÒ»ÖÖ·½·¨£¡
¡¡¡¡MYSQLÖÐÖ»ÓÐINNODBºÍBDBÀàÐ͵ÄÊý¾Ý±í²ÅÄÜÖ§³ÖÊÂÎñ´¦Àí£¡ÆäËûµÄÀàÐÍÊDz»Ö§³ÖµÄ£¡£¨Çмǣ¡£©£¨
InnoDB±»ÓÃÀ´ÔÚÖÚ¶àÐèÒª¸ßÐÔÄܵĴóÐÍÊý¾Ý¿âÕ¾µãÉϲúÉú¡£ÖøÃûµÄInternetÐÂÎÅÕ¾µãSlashdot.orgÔËÐÐÔÚInnoDBÉÏ¡£Mytrix, Inc.ÔÚInnoDBÉÏ´æ´¢³¬¹ý1TBµÄÊý¾Ý£¬»¹ÓÐһЩÆäËüÕ¾µãÔÚInnoDBÉÏ´¦ÀíÆ½¾ùÿÃë800´Î²åÈë/¸üеĸººÉ¡£ InnoDBÊÇΪ´¦Àí¾Þ´óÊý¾ÝÁ¿Ê±µÄ×î´óÐÔÄÜÉè¼Æ¡£ËüµÄCPUЧÂÊ¿ÉÄÜÊÇÈÎºÎÆäËü»ùÓÚ´ÅÅ̵ĹØÏµÊý¾Ý¿âÒýÇæËù²»ÄÜÆ¥µÐµÄ¡£ £©
ÒÔÏ´
Ïà¹ØÎĵµ£º
MySQL ´¥·¢Æ÷¼òµ¥ÊµÀý
1¡¢Óï·¨£º
CREATE TRIGGER <´¥·¢Æ÷Ãû³Æ> --´¥·¢Æ÷±ØÐëÓÐÃû×Ö£¬×î¶à64¸ö×Ö·û£¬¿ÉÄܺóÃæ»á¸½Óзָô·û.ËüºÍMySQLÖÐÆäËû¶ÔÏóµÄÃüÃû·½Ê½»ù±¾ÏàÏó.
{ BEFORE | AFTER } --´¥·¢Æ÷ÓÐÖ´ÐеÄʱ¼äÉèÖ㺿ÉÒÔÉèÖÃΪʼþ·¢Éúǰ»òºó¡£
{ INSERT | UPDATE | DELETE } --ͬÑùÒ²ÄÜÉ趨´¥· ......
update article set body = (REPLACE(body, '</div>', ' ')) where typeid=21
ÓÃupdateºÍreplaceÔÚmysqlÖÐÌæ»»Ä³Ò»¸ö×ֶεIJ¿·ÖÄÚÈÝ
update users_settings set `ConfigValue` = replace(configvalue,' fromstr' 'tostr') where `ConfigName`='accesslist'
¶ÔÓÚÕë¶Ô×Ö·û´®Î»ÖõIJÙ×÷£¬µÚÒ»¸öλÖñ»±ê¼Ç ......
×î½ü¼¸ÌìÏÐÀ´ÎÞÊ£¬±ã³¢ÊÔÁËÒ»ÏÂÓÃC²Ù×÷Êý¾Ý¿â£¬ÏÂÃæ±ãÊÇÎÒ²âÊԵľßÌå½á¹û£º
¿ª·¢»·¾³ÊÇwindows 7 ultimate(Ó¢Îİæ) IDE ÊÇvs 2008 professional ÖÐÎİæ,Êý¾Ý¿âÊÇmysql 5.1
Ê×ÏÈ£¬ÎÒÔÚMySQL¿âÖд´½¨ÁËÒ»¸ötest±í£º
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT ......