MySQL .Íâ¼üÔ¼Êø
InnoDBÒ²Ö§³ÖÍâ¼üÔ¼Êø¡£InnoDBÖжÔÍâ¼üÔ¼Êø¶¨ÒåµÄÓï·¨¿´ÆðÀ´ÈçÏ£º
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
Íâ¼ü¶¨Òå·þ´ÓÏÂÁÐÇé¿ö£º
· ËùÓÐtables±ØÐëÊÇInnoDBÐÍ£¬ËüÃDz»ÄÜÊÇÁÙʱ±í¡£
· ÔÚÒýÓñíÖУ¬±ØÐëÓÐÒ»¸öË÷Òý£¬Íâ¼üÁÐÒÔͬÑùµÄ˳Ðò±»ÁÐÔÚÆäÖÐ×÷ΪµÚÒ»ÁС£ÕâÑùÒ»¸öË÷ÒýÈç¹û²»´æÔÚ£¬Ëü±ØÐëÔÚÒýÓñíÀï±»×Ô¶¯´´½¨¡£
· ÔÚÒýÓñíÖУ¬±ØÐëÓÐÒ»¸öË÷Òý£¬±»ÒýÓõÄÁÐÒÔͬÑùµÄ˳Ðò±»ÁÐÔÚÆäÖÐ×÷ΪµÚÒ»ÁС£
· ²»Ö§³Ö¶ÔÍâ¼üÁеÄË÷Òýǰ׺¡£ÕâÑùµÄºó¹ûÖ®Ò»ÊÇBLOBºÍTEXTÁв»±»°üÀ¨ÔÚÒ»¸öÍâ¼üÖУ¬ÕâÊÇÒòΪ¶ÔÕâЩÁеÄË÷Òý±ØÐë×ÜÊǰüº¬Ò»¸öǰ׺³¤¶È¡£
· Èç¹ûCONSTRAINTsymbol±»¸ø³ö£¬ËüÔÚÊý¾Ý¿âÀï±ØÐëÊÇΨһµÄ¡£Èç¹ûËüûÓб»¸ø³ö£¬InnoDB×Ô¶¯´´½¨Õâ¸öÃû×Ö¡£
InnoDB¾Ü¾øÈκÎÊÔ×ÅÔÚ×Ó±í´´½¨Ò»¸öÍâ¼üÖµ¶ø²»Æ¥ÅäÔÚ¸¸±íÖеĺòÑ¡¼üÖµµÄINSERT»òUPDATE²Ù×÷¡£Ò»¸ö¸¸±íÓÐһЩƥÅäµÄÐеÄ×Ó±í£¬InnoDB¶ÔÈκÎÊÔͼ¸üлòɾ³ý¸Ã¸¸±íÖкòÑ¡¼üÖµµÄUPDATE»òDELETE²Ù×÷ÓÐËù¶¯×÷£¬Õâ¸ö¶¯×÷È¡¾öÓÚÓÃFOREIGN KEY×Ó¾äµÄON UPDATEºÍON DETETE×Ó¾äÖ¸¶¨µÄreferential action¡£µ±Óû§ÊÔͼ´ÓÒ»¸ö¸¸±íɾ³ý»ò¸üÐÂÒ»ÐÐ֮ʱ£¬ÇÒÔÚ×Ó±íÖÐÓÐÒ»¸ö»ò¶à¸öÆ¥ÅäµÄÐУ¬InnoDB¸ù¾ÝÒª²ÉÈ¡µÄ¶¯×÷ÓÐÎå¸öÑ¡Ôñ£º
· CASCADE: ´Ó¸¸±íɾ³ý»ò¸üÐÂÇÒ×Ô¶¯É¾³ý»ò¸üÐÂ×Ó±íÖÐÆ¥ÅäµÄÐС£ON DELETE CASCADEºÍON UPDATE CASCADE¶¼¿ÉÓá£ÔÚÁ½¸ö±íÖ®¼ä£¬Äã²»Ó¦¶¨ÒåÈô¸ÉÔÚ¸¸±í»ò×Ó±íÖеÄͬһÁвÉÈ¡¶¯×÷µÄON UPDATE CASCADE×Ӿ䡣
· SET NULL: ´Ó¸¸±íɾ³ý»ò¸üÐÂÐУ¬²¢ÉèÖÃ×Ó±íÖеÄÍâ¼üÁÐΪNULL¡£Èç¹ûÍâ¼üÁÐûÓÐÖ¸¶¨NOT NULLÏÞ¶¨´Ê£¬Õâ¾ÍÊÇΨһºÏ·¨µÄ¡£ON DELETE SET NULLºÍON UPDATE SET NULL×Ӿ䱻֧³Ö¡£
·  
Ïà¹ØÎĵµ£º
mysqlÊÇÒ»¸öÓÅÐãµÄ¿ªÔ´Êý¾Ý¿â£¬ËüÏÖÔÚµÄÓ¦Ó÷dz£µÄ¹ã·º£¬Òò´ËºÜÓбØÒª¼òµ¥µÄ½éÉÜÒ»ÏÂÓÃpython²Ù×÷mysqlÊý¾Ý¿âµÄ·½·¨¡£python²Ù×÷Êý¾Ý¿âÐèÒª°²×°Ò»¸öµÚÈý·½µÄÄ£¿é£¬ÔÚhttp://mysql-python.sourceforge.net/
ÓÐÏÂÔØºÍÎĵµ¡£
ÓÉÓÚpythonµÄÊý¾Ý¿âÄ£¿éÓÐרÃŵÄÊý¾Ý¿âÄ£¿éµÄ¹æ·¶£¬ËùÒÔ£¬Æäʵ²»¹ÜʹÓÃÄÄÖÖÊý¾ ......
select * for updateËø±íµÄÎÊÌâ
ÓÉÓÚInnoDBÔ¤ÉèÊÇRow-Level Lock£¬ËùÒÔÖ»ÓС¸Ã÷È·¡¹µÄÖ¸¶¨Ö÷¼ü£¬MySQL²Å»áÖ´ÐÐRow lock (Ö»Ëø×¡±»Ñ¡È¡µÄ×ÊÁÏÀý) £¬·ñÔòMySQL½«»áÖ´ÐÐTable Lock (½«Õû¸ö×ÊÁÏ±íµ¥¸øËø×¡)¡£
¾Ù¸öÀý×Ó:
¼ÙÉèÓиö±íµ¥products £¬ÀïÃæÓÐid¸úname¶þ¸öÀ¸Î»£¬idÊÇÖ÷¼ü¡£
Àý1: (Ã÷È·Ö¸¶¨Ö÷¼ü£¬²¢ÇÒÓд˱Ê×ÊÁÏ£¬ ......
MYSQLÓв»Í¬ÀàÐ͵ÄÈÕÖ¾Îļþ(¸÷×Ô´æ´¢Á˲»Í¬ÀàÐ͵ÄÈÕÖ¾)£¬´ÓËüÃǵ±ÖпÉÒÔ²éѯµ½MYSQLÀï¶¼×öÁËЩʲô£¬¶ÔÓÚMYSQLµÄ¹ÜÀí¹¤×÷£¬ÕâЩÈÕÖ¾ÎļþÊDz»¿ÉȱÉٵġ£
1.´íÎóÈÕÖ¾(The error log)£º¼Ç¼ÁËÊý¾Ý¿âÆô¶¯¡¢ÔËÐÐÒÔ¼°Í£Ö¹¹ý³ÌÖдíÎóÐÅÏ¢£»
2.ISAM²Ù×÷ÈÕÖ¾(The isam log)£º¼Ç¼ÁËËùÓжÔISAM±íµÄÐ޸쬏ÃÈÕÖ¾½ö½öÓÃÓÚµ÷ÊÔISAMģʽ ......
»·¾³ÉèÖãº
°²×°ÍêMySQLÖ®ºó£¬½«°²×°Ä¿Â¼ÖеÄincludeĿ¼ÏµÄlibmysql.libÎļþ¿½µ½VS2008°²×°Ä¿Â¼ÖеÄVC\lib\Ï£¬È»ºóÔÚ ÏîÄ¿-Ñ¡Ïî-c/c++-³£¹æ Öеĸ½¼Ó°üº¬Ä¿Â¼ÒÔ¼° Á´½ÓÆ÷-³£¹æ Öеĸ½¼Ó¿âĿ¼ÖмÓÈë“c:\MySQL\include\”£¬²¢ÇÒÔÚ Á´½ÓÆ÷-ÊäÈë Öеĸ½¼ÓÒÀÀµÏîÄÚÌí¼Ó“lib ......
¿´MySQL²Î¿¼ÊÖ²á ·¢ÏÖCREATE TABLE ʱÓжàÖÖÊý¾Ý¿â´æ´¢ÒýÇæ£º
TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM }
ÍøÉϲéÁËϾÝ˵MyISAM¡¢InnoDBÁ½ÖÖÒýÇæ³£ÓÃ
´óÖÁÇø±ðÈçÏÂ[²»ÖªÊÇ·ñ׼ȷ]£º
¸ß¼¶´¦Àí:
MyISAMÀàÐͲ»Ö§³ÖÊÂÎñ´¦ÀíµÈ¸ß¼¶´¦Àí£¬¶øInnoDBÀàÐÍÖ§³Ö¡£
Ö´ÐÐËÙ¶È:
MyISAMÀàÐ͵ıíÇ¿µ÷µÄÊÇÐ ......