MySQLµÄÍâ¼üºÍ²ÎÕÕÍêÕûÐÔ
Ò»¡¢²ÎÕÕÍêÕûÐÔ(Referential integrity)ºÍÍâ¼ü(foreign key)
²ÎÕÕÍêÕûÐÔ(Referential integrity)ÊÇÓÃÓÚÔ¼¶¨Á½¸ö¹ØÏµÖ®¼äµÄÁªÏµ£¬ÀíÂÛÉϹ涨£ºÈôMÊǹØÏµSÖеÄÒ»ÊôÐÔ×飬ÇÒMÊÇÁíÒ»¹ØÏµZµÄÖ÷¹Ø¼ü×Ö£¬Ôò³ÆMΪ¹ØÏµS¶ÔÓ¦¹ØÏµZµÄÍâ¹Ø¼ü×Ö¡£ÈôMÊǹØÏµSµÄÍâ¹Ø¼ü×Ö£¬ÔòSÖÐÿһ¸öÔª×éÔÚMÉϵÄÖµ±ØÐëÊÇ¿ÕÖµ»òÊǶÔÓ¦¹ØÏµZÖÐij¸öÔª×éµÄÖ÷¹Ø¼ü×ÖÖµ¡£²ÎÕÕÍêÕûÐÔÊÇÊý¾Ý¿âÉè¼ÆÖÐÒ»¸öÖØÒªµÄ¸ÅÄî¡£ÔÚϵͳ²»Í¬µÄ±íÖУ¬µ±Êý¾Ý¿âËùÓвÎÕպϷ¨»ò·ÇºÏ·¨¹ØÁªÊ±¶¼»áÉæ¼°µ½²ÎÕÕÍêÕûÐÔ¡£µ±²ÎÕÕÍêÕûÐÔ´æÔÚʱ£¬ÈκÎÓë²»´æÔڵļǼ²úÉú¹ØÁª½«±äµÃÎÞЧ£¬Óɴ˿ɷÀÖ¹Óû§³öÏÖ¸÷ÖÖ´íÎ󣬴ӶøÌṩ¸üΪ׼ȷºÍʵÓõÄÊý¾Ý¿â¡£
Íâ¼ü(foreign key):Èç¹û±íAµÄÖ÷¹Ø¼ü×ÖÊDZíBÖеÄ×ֶΣ¬Ôò¸Ã×ֶγÆÎª±íBµÄÍâ¼ü£¬±íA³ÆÎªÖ÷±í£¬±íB³ÆÎª´Ó±í¡£Íâ¼üÊÇÓÃÀ´ÊµÏÖ²ÎÕÕÍêÕûÐԵ쬲»Í¬µÄÍâ¼üÔ¼Êø·½Ê½½«¿ÉÒÔʹÁ½Õűí½ôÃܵĽáºÏÆðÀ´£¬ÌرðÊÇÐ޸ĻòÕßɾ³ýµÄ¼¶Áª²Ù×÷½«Ê¹µÃÈÕ³£µÄά»¤¹¤×÷¸ü¼ÓÇáËÉ¡£
¶þ¡¢MySQLÖеÄÍâ¼üʹÓÃÌõ¼þ
MySQLÒÔÍù²¢²»Ö§³ÖÍâ¼ü£¬ÔÒòÊÇÕâÖÖÖ§³Ö»á½µµÍËٶȺÍÐÔÄÜ¡£
ÔÚMySQL 3.23.44°æ±¾ºó£¬InnoDBÒýÇæÀàÐ͵ıíÖ§³ÖÁËÍâ¼üÔ¼Êø£¬µ«ÊÇĬÈÏÒýÇæMyISAMĿǰ»¹²»Ö§³ÖÍâ¼ü£¬Òò´ËʹÓÃʱÐèҪעÒ⽨Á¢Êý¾Ý¿â±íʱѡÔñInnoDB×÷ΪÊý¾Ý¿âÒýÇæ¡£
Íâ¼üµÄʹÓÃÌõ¼þ£º
1.Á½¸ö±í±ØÐëÊÇInnoDB±í£¬MyISAM±íÔÝʱ²»Ö§³ÖÍâ¼ü£¨¾Ý˵ÒÔºóµÄ°æ±¾ÓпÉÄÜÖ§³Ö£¬Ä¿Ç°ÎÒʹÓõÄÊÇ5.1.36»¹Ã»ÓÐÖ§³Ö£©£»
2.Íâ¼üÁбØÐ뽨Á¢ÁËË÷Òý£¬MySQL 4.1.2ÒÔºóµÄ°æ±¾ÔÚ½¨Á¢Íâ¼üʱ»á×Ô¶¯´´½¨Ë÷Òý£¬µ«Èç¹ûÔÚ½ÏÔçµÄ°æ±¾ÔòÐèÒªÏÔʾ½¨Á¢£»
3.Íâ¼ü¹ØÏµµÄÁ½¸ö±íµÄÁбØÐëÊÇÊý¾ÝÀàÐÍÏàËÆ£¬Ò²¾ÍÊÇ¿ÉÒÔÏ໥ת»»ÀàÐ͵ÄÁУ¬±ÈÈçintºÍtinyint¿ÉÒÔ£¬¶øintºÍcharÔò²»¿ÉÒÔ£»
Èý¡¢Íâ¼üµÄÓï·¨
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
¸ÃÓï·¨¿ÉÒÔÔÚ CREATE TABLE ºÍ ALTER TABLE ʱʹÓã¬Èç¹û²»Ö¸¶¨CONSTRAINT symbol£¬MYSQL»á×Ô¶¯Éú³ÉÒ»¸öÃû×Ö¡£
ON DELETE¡¢ON UPDATE±íʾʼþ´¥·¢ÏÞÖÆ£¬¿ÉÉè²ÎÊý£º
RESTRICT£¨ÏÞÖÆÍâ±íÖеÄÍâ¼ü¸Ä¶¯£©
CASCADE£¨¸úËæÍâ¼ü¸Ä¶¯£©
SET NULL£¨Éè¿ÕÖµ£©
SET DEFAULT£¨ÉèĬÈÏÖµ£©
NO ACTION£¨ÎÞ¶¯×÷£¬Ä¬Èϵģ©
¾ßÌåʹÓÃʾÀý¿ÉÒÔ²
Ïà¹ØÎĵµ£º
innodb_buffer_pool_size
Èç¹ûÓÃInnodb£¬ÄÇôÕâÊÇÒ»¸öÖØÒª±äÁ¿¡£Ïà¶ÔÓÚMyISAMÀ´Ëµ£¬Innodb¶ÔÓÚbuffer size¸üÃô¸Ð¡£MySIAM¿ÉÄܶÔÓÚ´óÊý¾ÝÁ¿Ê¹ÓÃĬÈϵÄkey_buffer_sizeÒ²»¹ºÃ£¬µ«InnodbÔÚ´óÊý¾ÝÁ¿Ê±ÓÃĬÈÏÖµ¾Í¸Ð¾õÔÚÅÀÁË¡£ InnodbµÄ»º³å³Ø»á»º´æÊý¾ÝºÍË÷Òý£¬ËùÒÔ²»ÐèÒª¸øÏµÍ³µÄ»º´æÁô¿Õ¼ä£¬Èç¹ûÖ»ÓÃInnodb£¬¿ÉÒÔ°ÑÕâ¸öÖµÉèΪ ......
×î½üÔÚѧϰSSH£¬ÓÉÓÚΪÁ˽ÚÔ¼Äڴ棬ËùÒÔ¾Í×¼±¸Ê¹ÓÃMYSQL´úÌæOracle£¬ÎªÁ˸üÉîÒ»²½µØÁ˽âMySQL£¬ÓÚÊǾͼƻ®°²×°noinstall°æ±¾£¬Õâ°æ±¾±È°²×°°æ¿ÉÂ鷳һЩ£¬ÌرðÊÇÅäÖ÷½Ã棬Èç¹ûÅäÖúõϰ¾Í¿ÉÒÔÔÚһ̨»úÆ÷ÉÏÔËÐжà¸ö°æ±¾µÄMYSQL£¬ÔÚÍøÉÏÕÒÁËǰ±²ÃǵıʼǺóѧϰÍê±ÏºóÔټǼһ±Ê£¬¾ÍÎÒÕâ¼ÇÐÔ£¬¹À¼ÆÃ ......