ºìÁªLinuxÃÅ»§
Linux°ïÖú

mysqlÊÂÎñ´¦Àí

·¢²¼Ê±¼ä:2006-10-19 22:24:49À´Ô´:ºìÁª×÷Õß:ckernel
ȱʡµÄ£¬MySQL ÔËÐÐÔÚ autocommit ģʽ¡£Õâ¾ÍÒâζ×Å£¬µ±ÄãÖ´ÐÐÍêÒ»¸ö¸üÐÂʱ£¬MySQL ½«Á¢¿Ì½«¸üд洢µ½´ÅÅÌÉÏ¡£

Èç¹ûÄãʹÓÃÊÂÎñ°²È«±í (ÀýÈç InnoDB¡¢BDB)£¬Í¨¹ýÏÂÃæµÄÃüÁÄã¿ÉÒÔÉèÖà MySQL Ϊ·Ç autocommit ģʽ£º

SET AUTOCOMMIT=0

ÔÚ´ËÖ®ºó£¬Äã±ØÐëʹÓà COMMIT À´´æ´¢ÄãµÄ¸ü¸Äµ½´ÅÅÌÉÏ£¬»òÕßʹÓà ROLLBACK £¬Èç¹ûÄãÏ£ÍûºöÂÔ´ÓÄãµÄÊÂÎñ¿ªÊ¼Ëù×öµÄ¸ü¸Ä¡£

Èç¹ûÄãÏ£ÍûΪһϵÁÐÓï¾ä´Ó AUTOCOMMIT ģʽת»»£¬Äã¿ÉÒÔʹÓà START TRANSACTION »ò BEGIN »ò BEGIN WORK Óï¾ä£º

START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summmary=@A WHERE type=1;
COMMIT;

START TRANSACTION ÔÚ MySQL 4.0.11 Öб»¼ÓÈ룻ÕâÊDZ»ÍƼöµÄ¿ªÊ¼Ò»¸öÌرð(ad-hoc)ÊÂÎñµÄ·½Ê½£¬ÒòΪÕâÊÇ ANSI SQL ¾ä·¨¡£

×¢Ò⣬Èç¹ûÄãʹÓõÄÊÇÒ»¸ö·ÇÊÂÎñ°²È«±í£¬¸ü¸Ä»áÁ¢¿Ì±»´æ´¢£¬²»ÊÜ autocommit ģʽ״̬µÄÔ¼Êø¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ