(mysql)Foreign keyµÄʹÓÃ
(1)
Íâ¼üµÄʹÓÃ:
Íâ¼üµÄ×÷ÓÃ,Ö÷ÒªÓÐÁ½¸ö:
Ò»¸öÊÇÈÃÊý¾Ý¿â×Ô¼ºÍ¨¹ýÍâ¼üÀ´±£Ö¤Êý¾ÝµÄÍêÕûÐÔºÍÒ»ÖÂÐÔ.
Èç:
ÓбíA,±íBÖÐÒ»×Ö¶ÎÊDZíAijһ×ֶεÄÍâ¼ü.µ±É¾³ý±íA¼Ç¼ʱ,±íBÏàÓ¦¼Ç¼»á×÷ÏàÓ¦´¦Àí(ɾ³ý/»òÉèÖÃÍâ¼üÁÐΪNULL).µ«Èôɾ³ý±íB¼Ç¼,±íAµÄ¼Ç¼,Ôò²»»áÊÜÓ°Ïì!
Ò»¸ö¾ÍÊÇÄܹ»Ôö¼ÓERͼµÄ¿É¶ÁÐÔ
ÓÐЩÈËÈÏΪÍâ¼üµÄ½¨Á¢»á¸ø¿ª·¢Ê±²Ù×÷Êý¾Ý¿â´øÀ´ºÜ´óµÄÂé·³.ÒòΪÊý¾Ý¿âÓÐʱºò»áÓÉÓÚûÓÐͨ¹ýÍâ¼üµÄ¼ì²â¶øÊ¹µÃ¿ª·¢ÈËԱɾ³ý,²åÈë²Ù×÷ʧ°Ü.ËûÃǾõµÃÕâÑùºÜÂé·³
ÆäʵÕâÕýʽÍâ¼üÔÚÇ¿ÖÆÄã±£Ö¤Êý¾ÝµÄÍêÕûÐÔºÍÒ»ÖÂÐÔ.ÕâÊǺÃʶù.
ÀýÈ磺
ÓÐÒ»¸ö»ù´¡Êý¾Ý±í£¬ÓÃÀ´¼Ç¼ÉÌÆ·µÄËùÓÐÐÅÏ¢¡£ÆäËû±í¶¼±£´æÉÌÆ·ID¡£²éѯʱÐèÒªÁ¬±íÀ´²éѯÉÌÆ·µÄÃû³Æ¡£µ¥¾Ý1µÄÉÌÆ·±íÖÐÓÐÉÌÆ·ID×ֶΣ¬µ¥¾Ý2µÄÉÌÆ·±íÖÐÒ²ÓÐÉÌÆ·ID×ֶΡ£Èç¹û²»Ê¹ÓÃÍâ¼üµÄ»°£¬µ±µ¥¾Ý1,2¶¼Ê¹ÓÃÁËÉÌÆ·ID=3µÄÉÌÆ·Ê±£¬Èç¹ûɾ³ýÉÌÆ·±íÖÐID=3µÄ¶ÔÓ¦¼Ç¼ºó£¬Ôٲ鿴µ¥¾Ý1,2µÄʱºò¾Í»á²é²»µ½ÉÌÆ·µÄÃû³Æ¡£
µ±±íºÜÉÙµÄʱºò£¬ÓÐÈËÈÏΪ¿ÉÒÔÔÚ³ÌÐòʵÏÖµÄʱºòÀ´Í¨¹ýд½Å±¾À´±£Ö¤Êý¾ÝµÄÍêÕûÐÔºÍÒ»ÖÂÐÔ¡£Ò²¾ÍÊÇÔÚɾ³ýÉÌÆ·µÄ²Ù×÷µÄʱºòÈ¥¼ì²âµ¥¾Ý1,2ÖÐÊÇ·ñÒѾʹÓÃÁËÉÌÆ·IDΪ3µÄÉÌÆ·¡£µ«Êǵ±ÄãдÍê½Å±¾Ö®ºóϵͳÓÐÔö¼ÓÁËÒ»¸öµ¥¾Ý3 £¬ËûÒ²±£´æÉÌÆ·IDÕÒ¸ö×ֶΡ£Èç¹û²»ÓÃÍâ¼ü£¬Ä㻹ÊÇ»á³öÏֲ鲻µ½ÉÌÆ·Ãû³ÆµÄÇé¿ö¡£Äã×ܲ»ÄÜÿÔö¼ÓÒ»¸öʹÓÃÉÌÆ·IDµÄ×ֶεĵ¥¾Ýʱ¾Í»ØÈ¥ÐÞ¸ÄÄã¼ì²âÉÌÆ·ÊÇ·ñ±»Ê¹ÓõĽű¾°É
ͬʱ£¬ÒýÈëÍâ¼ü»áʹËٶȺÍÐÔÄÜϽµ¡£
(2)
Ìí¼ÓÍâ¼üµÄ¸ñʽ:
ALTER TABLE yourtablename
ADD [CONSTRAINT Íâ¼üÃû] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
˵Ã÷:
on delete/on update,ÓÃÓÚ¶¨Òådelete,update²Ù×÷.ÒÔÏÂÊÇupdate,delete²Ù×÷µÄ¸÷ÖÖÔ¼ÊøÀàÐÍ:
CASCADE:
Íâ¼ü±íÖÐÍâ¼ü×Ö¶ÎÖµ»á±»¸üÐÂ,»òËùÔÚµÄÁлᱻɾ³ý.
RESTRICT:
RESTRICTÒ²Ï൱ÓÚno action,¼´²»½øÐÐÈκβÙ×÷.¼´,¾Ü¾ø¸¸±íupdateÍâ¼ü¹ØÁªÁÐ,delete¼Ç¼.
set null:
±»¸¸ÃæµÄÍâ¼ü¹ØÁª×ֶα»update ,deleteʱ,×Ó±íµÄÍâ¼üÁб»ÉèÖÃΪnull.
¶ø¶ÔÓÚinsert,×Ó±íµÄÍâ¼üÁÐÊäÈëµÄÖµ,Ö»ÄÜÊǸ¸±íÍâ¼ü¹ØÁªÁÐÒÑÓеÄÖµ.·
Ïà¹ØÎĵµ£º
¸÷λ¸ßÊֺá£Ð¡µÜѧϰJAVA²»¾Ã£¬È»ºóÔÙÓÃMYSQLÊý¾Ý¿â¡£
ÓÉÓÚÊÇÓñðÈ˵ĵķ¶Àýѧϰ£¬ËùÒÔ³öÏÖºÜ¶àÆæ¹ÖµÄÎÊÌâ
ÎÒÓÃ×Ô¼ºµÄMYSQL ·þÎñÆ÷£¬È»ºó°Ñ±ðÈ˵ÄÊý¾Ý¿âµ¼½øÀ´¡£È»ºó³öÏÖ°æ±¾ÎÊÌâ¡£
ÎÊÌâÈçÏÂ
Table './db_librarysys/tb_manager' was created with a different version of MySQL and cannot be read
2010-4-28 22:44 ......
Windows:
1. ÓÃϵͳ¹ÜÀíÔ±µÇ½ϵͳ¡£
2. Í£Ö¹MySQLµÄ·þÎñ¡£
3. ½øÈëÃüÁî´°¿Ú(cmd)£¬È»ºó½øÈëMySQLµÄ°²×°Ä¿Â¼£¬±ÈÈçÎҵݲװĿ¼ÊÇc:\mysql,½øÈëC:\mysql\bin
4. Ìø¹ýȨÏÞ¼ì²éÆô¶¯MySQL£¬
c:\mysql\bin>mysqld-nt --skip-grant-tables
5. ÖØÐ´ò¿ªÒ»¸öcmd´°¿Ú£¬½øÈëc:\mysql\b ......
ÕâÀïÊÕ¼¯¸÷ÖÖMysqlµÄ»ù´¡ÖªÊ¶,ΪÁËijЩ³¡ºÏµÄÐèÒª,»¹ÊÇÉáÆúnavicatÖ®ÀàµÄ¹¤¾ß¹Ô¹ÔÓÃÃüÁîÐаÉ
£¨×¢ÒâÓеÄÃüÁîÐèÒª·ÖºÅÓеIJ»ÐèÒª)
Ò».»ù±¾²Ù×÷
1.怬
mysql -u Óû§Ãû -pÃÜÂë Êý¾Ý¿âÃû
ÕâÀïÐè ......
·ÖÒ³¹¦ÄܵÄʵÏÖÊÇÿÖÖWEB¿ª·¢ÓïÑÔ±ØÐëҪʵÏֵŦÄÜ¡£PHPÒ²ºÃ,JSPÒ²°Õ¡£ÎÒ×¼±¸ÓÃÁ½¸ö·½·¨À´²ûÊöPHP+MYSQLʵÏÖ·ÖÒ³µÄ¹¦ÄÜ¡£
Ò»¡¢·ÖÒ³³ÌÐòµÄÔÀí
·ÖÒ³³ÌÐòÓÐÁ½¸ö·Ç³£ÖØÒªµÄ²ÎÊý£ºÃ¿Ò³ÏÔʾ¼¸Ìõ¼Ç¼£¨$pagesize£©ºÍµ±Ç°Êǵڼ¸Ò³£¨$page£©¡£ÓÐÁËÕâÁ½¸ö²ÎÊý¾Í¿ÉÒԺܷ½±ãµÄд³ö·ÖÒ³³ÌÐò£¬ÎÒÃÇÒÔMySqlÊý¾Ý¿â×÷ΪÊý¾ÝÔ´£¬ ......
ÔÚÊý¾Ý¿âÖУ¬UNIONºÍUNION ALL¹Ø¼ü×Ö¶¼Êǽ«Á½¸ö½á¹û¼¯ºÏ²¢ÎªÒ»¸ö£¬µ«ÕâÁ½Õß´ÓʹÓúÍЧÂÊÉÏÀ´Ëµ¶¼ÓÐËù²»Í¬¡£
MySQLÖеÄUNION
UNIONÔÚ½øÐбíÁ´½Óºó»áɸѡµôÖØ¸´µÄ¼Ç¼£¬ËùÒÔÔÚ±íÁ´½Óºó»á¶ÔËù²úÉúµÄ½á¹û¼¯½øÐÐÅÅÐòÔËË㣬ɾ³ýÖØ¸´µÄ¼Ç¼ÔÙ·µ»Ø½á¹û¡£Êµ¼Ê´ó²¿·ÖÓ¦ÓÃÖÐÊDz»»á²úÉúÖØ¸´µÄ¼Ç¼£¬×î³£¼ûµÄÊǹý³Ì±íÓëÀúÊ·±íUNION¡£Èç ......