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×Ó¾äÓ
Ïà¹ØÎĵµ£º
½â¾ömysql“Access denied for user
ÎÒµÄϵͳÊÇubuntu6.06£¬×î½üÐÂ×°ºÃµÄmysqlÔÚ½øÈëmysql¹¤¾ßʱ£¬×ÜÊÇÓдíÎóÌáʾ:
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ʹÓÃÍøÉϽéÉܵķ½·¨ÐÞ¸ÄrootÓû§µÄÃÜÂ룺
# mysqladmin -uroot -p p ......
http://blog.chinaunix.net/u/14014/showart_490462.html
mysql>show variables like '%timeout';
´òÓ¡½á¹ûÈçÏ£º
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| connect_timeout | 5 |
| delayed_insert_timeout | 300 |
| interactive_ ......
For SQL Server2008:
http://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e&displaylang=en
For SQL Server2005:
http://www.microsoft.com/downloads/details.aspx?familyid=C6F14640-DA22-4604-AAAA-A45DE4A0CD4A&displaylang=en ......
1.reverse(str)º¯Êý: ·µ»Øµßµ¹×Ö·û˳ÐòµÄ×Ö·û´®str, ¸Ãº¯Êý¶Ô¶à×Ö½Ú¿É¿¿µÄ.
mysql> select * from user;
+----+------------------+
| id | name |
+----+------------------+
| 1 | test &nbs ......
×î½üÒµÎñ·ÃÎÊÁ¿±È½Ï´ó£¬Êý¾Ýͳ¼ÆÀàµÄ²Ù×÷¶¼Çл»µ½mysqlµÄ±¸»úÉÏÈ¥ÁË£¬±¸»úµÄ¶Á²Ù×÷²»»áÓ°ÏìÖ÷¡¢±¸Ö®¼äµÄÈȱ¸µÄ
ÏÂÃæÁÐһϾßÌåµÄÔÀí£º
ÒªÏëÓúÃÒ»¸öϵͳ£¬Àí½âÆäʵÏÖÔÀíÊǷdz£ÖØÒªµÄÊÂÇ飬ֻÓÐÀí½âÁËÆäʵÏÖÔÀí£¬ÎÒÃDzÅÄܹ»Ñﳤ±Ü¶Ì£¬ºÏÀíµÄÀûÓ㬲ÅÄܹ»´î½¨³ö×îÊʺÏÎÒÃÇ×Ô¼ºÓ¦Óû·¾³µÄϵͳ£¬²ÅÄܹ»ÔÚϵͳʵʩ֮ºó¸üºÃµ ......