mysql¼¶ÁªÉ¾³ý Mysql µÄ Cascade Restrict
½ñÌìÓöµ½Êý¾Ý¿âµÄÒ»¸öÎÊÌ⣬¾ÍÊÇÿµ±´ÓÖ÷±íÖÐɾ³ýÒ»¸öÖ÷¼üidʱ£¬ÓÉÓÚÓëËûÏà¹ØÁªµÄ±íÖÐÓÐÏà¹ØµÄ×Ö¶ÎÊý¾Ý£¬ËùÒÔÎÞ·¨É¾³ý¡£²éÁËÒ»´ó¶Ñ×ÊÁÏ£¬·¢ÏÖÎÒ½¨±í¹ØÁªÓõÄÊÇon Restrict.¿ÉÄÜÎÊÌâ¾Í³öÔÚÕâÀï°É¡£
Íâ¼üÔ¼Êø¶Ô×Ó±íµÄº¬Òå:
Èç¹ûÔÚ¸¸±íÖÐÕÒ²»µ½ºòÑ¡¼ü,Ôò²»ÔÊÐíÔÚ×Ó±íÉϽøÐÐinsert/update
Íâ¼üÔ¼Êø¶Ô¸¸±íµÄº¬Òå:
ÔÚ¸¸±íÉϽøÐÐupdate/deleteÒÔ¸üлòɾ³ýÔÚ×Ó±íÖÐÓÐÒ»Ìõ»ò¶àÌõ¶ÔӦƥÅäÐеĺòÑ¡¼üʱ,¸¸±íµÄÐÐΪȡ¾öÓÚ£ºÔÚ¶¨Òå×Ó±íµÄÍâ¼üʱָ¶¨µÄon update/on delete×Ó¾ä, InnoDBÖ§³Ö£µÖÖ·½Ê½, ·ÖÁÐÈçÏÂ
. cascade·½Ê½
ÔÚ¸¸±íÉÏupdate/delete¼Ç¼ʱ£¬Í¬²½update/deleteµô×Ó±íµÄÆ¥Åä¼Ç¼
On delete cascade´Ómysql3.23.50¿ªÊ¼¿ÉÓÃ; on update cascade´Ómysql4.0.8¿ªÊ¼¿ÉÓÃ
. set null·½Ê½
ÔÚ¸¸±íÉÏupdate/delete¼Ç¼ʱ£¬½«×Ó±íÉÏÆ¥Åä¼Ç¼µÄÁÐÉèΪnull
ҪעÒâ×Ó±íµÄÍâ¼üÁв»ÄÜΪnot null
On delete set null´Ómysql3.23.50¿ªÊ¼¿ÉÓÃ; on update set null´Ómysql4.0.8¿ªÊ¼¿ÉÓÃ
. No action·½Ê½
Èç¹û×Ó±íÖÐÓÐÆ¥ÅäµÄ¼Ç¼,Ôò²»ÔÊÐí¶Ô¸¸±í¶ÔÓ¦ºòÑ¡¼ü½øÐÐupdate/delete²Ù×÷
Õâ¸öÊÇANSI SQL-92±ê×¼,´Ómysql4.0.8¿ªÊ¼Ö§³Ö
. Restrict·½Ê½
ͬno action, ¶¼ÊÇÁ¢¼´¼ì²éÍâ¼üÔ¼Êø
. Set default·½Ê½
½âÎöÆ÷ÈÏʶÕâ¸öaction,µ«Innodb²»ÄÜʶ±ð£¬²»ÖªµÀÊÇʲôÒâ˼£®£®£®
×¢Ò⣺trigger²»»áÊÜÍâ¼ücascadeÐÐΪµÄÓ°Ïì,¼´²»»á½â·¢trigger
ÔÚmysqlÖУ¬Óë£Ó£Ñ£Ì±ê×¼ÏàÎ¥±³µÄÈýµã
1. Èç¹ûÔÚ¸¸±íÖÐÓжà¸ökeyÖµÏàͬ£¬ÄÇôÔÚ½øÐÐÍâ¼ücheckʱ,»áµ±³ÉÓÐÏàͬkeyÖµµÄÆäËûÐв»´æÔÚ; ±ÈÈçµ±¶¨ÒåÁËÒ»¸örestrictÐÐΪÍâ¼üʱ,Ò»¸ö×Ó±íÐжÔÓ¦µ½¶à¸ö¸¸±íÐÐ(¾ßÓÐÏàͬkeyÖµ), Innodb²»ÔÊÐíɾ³ý¸¸±íÉϵÄËùÓÐÕâЩÐÐ
2. ¸¸×Ó±íÊÇͬһ¸ö±í,×ÔÎÒ²ÎÕÕʱ²»ÔÊÐíÖ¸¶¨on update cascade, on update set null
´Ómysql4.0.13¿ªÊ¼£¬ÔÊÐíͬһ¸ö±íÉϵÄon delete set null
´Ómysql4.0.21¿ªÊ¼£¬ÔÊÐíͬһ¸ö±íÉϵÄon delete cascade
µ«¼¶Áª²ã´Î²»
Ïà¹ØÎĵµ£º
1. ¸ÅÊö
MySQLÊý¾Ý¿âµÄµ¼È룬ÓÐÁ½ÖÖ·½·¨£º
1) Ïȵ¼³öÊý¾Ý¿âSQL½Å±¾£¬ÔÙµ¼È룻
2) Ö±½Ó¿½±´Êý¾Ý¿âĿ¼ºÍÎļþ¡£
ÔÚ²»Í¬²Ù×÷ϵͳ»òMySQL°æ±¾Çé¿öÏ£¬Ö±½Ó¿½±´ÎļþµÄ·½·¨¿ÉÄÜ»áÓв»¼æÈݵÄÇé¿ö·¢Éú¡£
ËùÒÔÒ»°ãÍÆ¼öÓÃSQL½Å±¾ÐÎʽµ¼Èë¡£ÏÂÃæ·Ö±ð½éÉÜÁ½ÖÖ·½·¨¡£
Linux주
2. ·½·¨Ò» SQL½Å±¾ÐÎʽ
²Ù×÷²½ÖèÈçÏ£º
2 ......
ÁªºÏMySQL Proxy ºÍMySQL Cluster£¬¹¹½¨¸ßÐÔÄÜÊý¾Ý¿â
ÔÎÄ£ºhttp://blogs.mysql.com/kaj/2007/12/10/combining-mysql-proxy-with-mysql-cluster/
²»¾Ãǰ£¬ÎÒºÍStewart Smith, Vinay Joosery, Monty Taylor ÒÔ¼°ÆäËûµÄmysqlʹÓÃÕߣ¨ËûÃDZÈÎÒ¸üÊìϤMySQL Cluster £©Õ¹¿ªÁËÒ»´ÎÌÖÂÛ£ ......
½â¾öhibernate+mysql³öÏֵĸôÌìÁ¬½Ó³¬Ê±ÎÊÌâ
³öÏÖ´íÎó£ºSQL Error: 0, SQLState: 08S01
Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Software caused connection abort: socket write error
STACKTRACE:
java.net.SocketExcepti ......
Ò»°ãÔÚMYSQLʹÓÃÖÐÎIJéѯ
¶¼ÊÇÓà set NAMES character
character_set_client £¬ÕâÊÇÓû§¸æËßMySQL²éѯÊÇÓõÄʲô×Ö·û¼¯¡£
character_set_connection £¬MySQL½ÓÊܵ½Óû§²éѯºó£¬°´ÕÕcharacter_set_client½«Æäת»¯Îªcharacter_set_connectionÉ趨µÄ×Ö·û¼¯¡£
character_set_results £¬ MySQL½«´æ´¢µÄÊý¾Ýת»»³Écharact ......