mysql ÊÂÎñ´¦Àí
¹ØÓÚMySQLÊÂÎñ´¦Àíѧϰ¼Ç
START TRANSACTION, COMMITºÍROLLBACKÓï·¨
START TRANSACTION | BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET AUTOCOMMIT = {0 | 1}
START
TRANSACTION»òBEGINÓï¾ä¿ÉÒÔ¿ªÊ¼Ò»ÏîеÄÊÂÎñ¡£COMMIT¿ÉÒÔÌá½»µ±Ç°ÊÂÎñ£¬ÊDZä¸ü³ÉΪÓÀ¾Ã±ä¸ü¡£ROLLBACK¿ÉÒÔ
»Ø¹öµ±Ç°ÊÂÎñ£¬È¡ÏûÆä±ä¸ü¡£SET AUTOCOMMITÓï¾ä¿ÉÒÔ½ûÓûòÆôÓÃĬÈϵÄautocommitģʽ£¬ÓÃÓÚµ±Ç°Á¬½Ó¡£
×ÔÑ¡µÄWORK¹Ø¼ü´Ê±»Ö§³Ö£¬ÓÃÓÚCOMMITºÍRELEASE£¬ÓëCHAINºÍRELEASE×Ӿ䡣CHAINºÍRELEASE¿ÉÒÔ±»ÓÃÓÚ¶ÔÊÂÎñÍê³É½øÐи½¼Ó¿ØÖÆ¡£Completion_typeϵͳ±äÁ¿µÄÖµ¾ö¶¨ÁËĬÈÏÍê³ÉµÄÐÔÖÊ¡£
AND
CHAIN×Ó¾ä»áÔÚµ±Ç°ÊÂÎñ½áÊøÊ±£¬Á¢¿ÌÆô¶¯Ò»¸öÐÂÊÂÎñ£¬²¢ÇÒÐÂÊÂÎñÓë¸Õ½áÊøµÄÊÂÎñÓÐÏàͬµÄ¸ôÀëµÈ¼¶¡£RELEASE×Ó¾äÔÚÖÕÖ¹Á˵±Ç°ÊÂÎñºó£¬»áÈ÷þÎñÆ÷
¶Ï¿ªÓ뵱ǰ¿Í»§¶ËµÄÁ¬½Ó¡£°üº¬NO¹Ø¼ü´Ê¿ÉÒÔÒÖÖÆCHAIN»òRELEASEÍê³É¡£Èç¹ûcompletion_typeϵͳ±äÁ¿±»ÉèÖÃΪһ¶¨µÄÖµ£¬Ê¹Á¬Ëø
»òÊÍ·ÅÍê³É¿ÉÒÔĬÈϽøÐУ¬´ËʱNO¹Ø¼ü´ÊÓÐÓá£
ĬÈÏÇé¿öÏ£¬MySQL²ÉÓÃautocommitģʽÔËÐС£ÕâÒâζ×Å£¬µ±ÄúÖ´ÐÐÒ»¸öÓÃÓÚ¸üУ¨Ð޸쩱íµÄÓï¾äÖ®ºó£¬MySQLÁ¢¿Ì°Ñ¸üд洢µ½´ÅÅÌÖС£
Èç¹ûÄúÕýÔÚʹÓÃÒ»¸öÊÂÎñ°²È«Ð͵Ĵ洢ÒýÇæ£¨ÈçInnoDB, BDB»òNDB´Ø£©£¬ÔòÄú¿ÉÒÔʹÓÃÒÔÏÂÓï¾ä½ûÓÃautocommitģʽ£º
SET AUTOCOMMIT=0;
ͨ¹ý°ÑAUTOCOMMIT±äÁ¿ÉèÖÃΪÁ㣬½ûÓÃautocommitģʽ֮ºó£¬Äú±ØÐëʹÓÃCOMMIT°Ñ±ä¸ü´æ´¢µ½´ÅÅÌÖУ¬»ò×ÅÈç¹ûÄúÏëÒªºöÂÔ´ÓÊÂÎñ¿ªÊ¼½øÐÐÒÔÀ´×ö³öµÄ±ä¸ü£¬Ê¹ÓÃROLLBACK¡£
Èç¹ûÄúÏëÒª¶ÔÓÚÒ»¸öµ¥Ò»ÏµÁеÄÓï¾ä½ûÓÃautocommitģʽ£¬ÔòÄú¿ÉÒÔʹÓÃSTART TRANSACTIONÓï¾ä£º
START TRANSACTION;
SELECT @A:=SUM(salary) from table1 WHERE type=1;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT;
ʹÓÃSTART TRANSACTION£¬autocommitÈÔÈ»±»½ûÓã¬Ö±µ½ÄúʹÓÃCOMMIT»òROLLBACK½áÊøÊÂÎñΪֹ¡£È»ºóautocommitģʽ»Ö¸´µ½ÔÀ´µÄ״̬¡£
BEGINºÍBEGIN WORK±»×÷ΪSTART TRANSACTIONµÄ±ðÃûÊܵ½Ö§³Ö£¬ÓÃÓÚ¶ÔÊÂÎñ½øÐгõʼ»¯¡£START
TRANSACTIONÊDZê×¼µÄSQLÓï·¨£¬²¢ÇÒÊÇÆô¶¯Ò»¸öad-hocÊÂÎñµÄÍÆ¼ö·½·¨¡£BEGINÓï¾äÓëBEGIN¹Ø¼ü´ÊµÄʹÓò»Í¬¡£BEGIN¹Ø¼ü´Ê
¿ÉÒÔÆô¶¯Ò»¸öBEGIN...END¸´ºÏÓï¾ä¡£ºóÕß²»»á¿ªÊ¼Ò»ÏîÊÂÎñ¡£
ÄúÒ²¿ÉÒÔ°´ÕÕÈçÏ·½·¨¿ªÊ¼Ò»ÏîÊÂÎñ£º
START TRANSACTION WITH CONSISTENT SNAPSHOT;
WITH CONSISTENT
SNAPSHOT×Ó¾äÓ
Ïà¹ØÎĵµ£º
»°ËµÖ®Ç°ÓÃphpдµÄÒ»¸öͳ¼ÆÅܵúúõģ¬Í»È»Ò»Ìì²»³öÊý¾ÝÁË£¬×·ÆäÔÒò³öÔÚsqlÓï¾äÉÏ£¬ÓÉÓÚÊý¾ÝÁ¿Ôö´ó¼ÓÉÏ·þÎñÆ÷ÀϾɣ¬ÔËÐÐsqlÓï¾äµÄʱºò³öÏÖÄÚ´æ²»×ãµÄÌáʾ£¬Ëì¾ö¶¨ÓÅ»¯sqlÓï¾äʹÆä²»²úÉúÁÙʱ±í¡£ÐèÇóÇåÎú£¬ÏÂÃæ¾ÙÀý˵Ã÷£º
ÔsqlÓï¾ä£º
SELECT COUNT( DISTINCT md5 ) from active AS a
......
×÷Õß: Ф½¨±ò
| ¿ÉÒÔ×ªÔØ, ×ªÔØÊ±Îñ±ØÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕÂÔʼ³ö´¦
ºÍ×÷ÕßÐÅÏ¢¼°°æÈ¨ÉùÃ÷
꿅᣼http://www.xiaojb.com/archives/it/mysqlroot.shtml
Method 1:
ÔÚ/usr/local/mysql/bin/Ï£º
./mysqladmin -u root password ‘new_password’
Ò»°ã°²×°Ê±Óô˷½·¨ÉèÖá£
Method 2:
ÔÚmysql×´ ......
´´½¨Êý¾Ý¿â£ºcreate database Êý¾Ý¿âÃû;
´´½¨±í£ºcreate table ±íÃû £¨ ÁÐÃû Êý¾ÝÀàÐÍ not null... £©;
²é¿´ÏµÍ³ÖÐËùÓеÄÊý¾Ý¿â£ºshow databases;
Ñ¡ÔñÒªÓ¦ÓõÄÊý¾Ý¿â£ºuse Êý¾Ý¿âÃû;
²é¿´Ä³¸öÊý¾Ý¿âϵÄËùÓÐ±í£ºshow tables;
²é¿´±í½á¹¹£ºdesc(describe) ±íÃû;
ÖØÃüÃû±íÃû£ºalter table ±íÃû rename as бíÃû
¸ ......
Èç¹û´ó¼ÒÓÐÒìÒ飬¿ÉÒÔÔÚºóÃæ²¹³ä¡£ÎÒ»áËæÊ±¸üеġ£
ÏÖÔÚ´ó¸ÅÁгöÈçÏÂ:(Íû¸÷λ²¹³ä)
1.Êý¾Ý¿âµÄÉè¼Æ
¾¡Á¿°ÑÊý¾Ý¿âÉè¼ÆµÄ¸üСµÄÕ¼´ÅÅ̿ռä.
1).¾¡¿ÉÄÜʹÓøüСµÄÕûÊýÀàÐÍ.(mediumint¾Í±Èint¸üºÏÊÊ).
2).¾¡¿ÉÄ͍ܵÒå×Ö¶ÎΪnot null,³ý·ÇÕâ¸ö×Ö¶ÎÐèÒªnull.£¨Õâ¸ö¹æÔòÖ»ÊʺÏ×Ö¶ÎΪKEYµÄÇéÐΣ©
3).Èç¹ûûÓÐÓõ½±ä³¤×Ö¶ÎµÄ ......