MYSQLÍâ¼ü(Foreign Key)µÄʹÓÃ
ÔÚMySQL 3.23.44°æ±¾ºó£¬InnoDBÒýÇæÀàÐ͵ıíÖ§³ÖÁËÍâ¼üÔ¼Êø¡£
Íâ¼üµÄʹÓÃÌõ¼þ£º
1.Á½¸ö±í±ØÐëÊÇ
InnoDB±í£¬MyISAM±íÔÝʱ²»Ö§³ÖÍâ¼ü£¨¾Ý˵ÒÔºóµÄ°æ±¾ÓпÉÄÜÖ§³Ö£¬µ«ÖÁÉÙĿǰ²»Ö§³Ö£©£»
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£¨ÎÞ¶¯×÷£¬Ä¬Èϵģ©
¸ã¸öÀý×Ó£¬¼òµ¥ÑÝʾһÏÂʹÓã¬×ödageºÍxiaodiÁ½¸ö±í£¬´ó¸ç±íÊÇÖ÷¼ü£¬Ð¡µÜ±íÊÇÍâ¼ü£º
½¨±í£º
1
CREATE
TABLE
`dage` (
2
`id`
int
(
11
)
NOT
NULL
auto_increment,
3
`name`
varchar
(
32
)
default
''
,
4
PRIMARY
KEY
(`id`)
5
) ENGINE
=
InnoDB
DEFAULT
CHARSET
=
latin1£»
6
7
CREATE
TABLE
`xiaodi` (
8
`id`
int
(
11
)
NOT
NULL
auto_increment,
9
`dage_id`
int
(
11
)
default
NULL
,
10
`name`
varchar
(
32
)
default
''
,
11
PRIMARY
KEY
(`id`),
12
KEY
`dage_id` (`dage_i
Ïà¹ØÎĵµ£º
Mysql ¹Ø¼ü×Ö-±£Áô×Ö
ÔÚpowerdesignerÉè¼ÆµÄʱºòÓÃÁ˹ؼü×Ö£¬Éú³É³ö´í£¬ºÜ囧¡£¡£¡£
ADD
ALL
ALTER
ANALYZE
AND
AS
ASC
ASENSITIVE
BEFORE
BETWEEN
BIGINT
BINARY
BLOB
BOTH
BY
CALL
CASCADE
CASE
CHANGE
CHAR
CHARACTER
CHECK
COLLATE
COLUMN
CON ......
µ±mysqlÊý¾Ý¿âΪGBK±àºÅ£¬.net³ÌÐòʹÓÃĬÈϱàÂ루UTF-8£©£¬ÏòmysqlÖвåÈëÊý¾ÝÈÝÒײúÉúÂÒÂë¡£½â¾ö°ì·¨ÊÇÔÚÁ¬½Ó×Ö·û´®¼ÓÈëCharset=gbk£º
MySqlConnection myConnection = new MySqlConnection("Database=test2;Data Source=localhost;User Id=root;Password=ikmbikmb;Charset=gbk"); ......
ÏÂÊÖ´¦£ºµÇ½mysql´Ó·þÎñÆ÷£¬Í¨¹ýÖ´ÐÐ mysql> show slave status\G ²é¿´ÆäÊä³ö£¬¼´¿ÉÅж¨Ö÷´Ó¸´ÖÆÊÇ·ñÕý³£¡£ÏÂÃæÊÇ¼à¿ØMYSQL¸´ÖÆÄ³¸ö´Ó·þÎñÆ÷µÄÊä³ö£º
mysql> show slave status\G
*************************** 1. row ***************************
&nbs ......
²é¿´Ä³¸ö±íµÄ½¨±íÓï¾ä £ºshow create table data_statdata;
drop index ts on data_statdata;
Ë÷ÒýÊǼÓËÙ²éѯµÄÖ÷ÒªÊֶΣ¬Ìرð¶ÔÓÚÉæ¼°¶à¸ö±íµÄ²éѯ¸üÊÇÈç´Ë¡£±¾½ÚÖУ¬½«½éÉÜË÷ÒýµÄ×÷Óá¢Ìص㣬ÒÔ¼°´´½¨ºÍɾ³ýË÷ÒýµÄÓï·¨¡£
13.4.1 ʹÓÃË÷ÒýÓÅ»¯²éѯ
Ë÷ÒýÊÇ¿ìËÙ¶¨Î»Êý¾ÝµÄ¼¼Êõ£¬Ê×ÏÈͨ¹ýÒ»¸öʾÀýÀ´Á˽ ......
¹Ø¼ü×Ö: mysql grant
±¾ÎÄʵÀý£¬ÔËÐÐÓÚ MySQL 5.0 ¼°ÒÔÉϰ汾¡£
MySQL ¸³ÓèÓû§È¨ÏÞÃüÁîµÄ¼òµ¥¸ñʽ¿É¸ÅÀ¨Îª£º
grant ȨÏÞ on Êý¾Ý¿â¶ÔÏó to Óû§
Ò»¡¢grant ÆÕͨÊý¾ÝÓû§£¬²éѯ¡¢²åÈë¡¢¸üС¢É¾³ý Êý¾Ý¿âÖÐËùÓбíÊý¾ÝµÄȨÀû¡£
grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user ......