mysql 在表中添加多个外键/增加外键/级联约束

1. 建表时创建外键: 

CREATE TABLE`xh` (
 `id` int(100) unsigned NOT NULL AUTO_INCREMENT COMMENT ,
 `cl_id` smallint(3) unsigned NOT NULL COMMENT,
 `title` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT ,
 `details` text COLLATE utf8_unicode_ci NOT NULL COMMENT ,
 `date` datetime NOT NULL COMMENT ,
 `au_id` smallint(6) unsigned NOT NULL COMMENT ,
 `click` int(100) unsigned NOT NULL DEFAULT '0' COMMENT ,
 `reco` int(100) unsigned NOT NULL DEFAULT '0' COMMENT,
 PRIMARY KEY (`id`),
 KEY `fk_class` (`cl_id`),
 CONSTRAINT `fk_class`FOREIGN KEY  (`cl_id`)  REFERENCES  `fl` (`id`),
 KEY `fk_author` (`au_id`),
 CONSTRAINT `fk_author` FOREIGN KEY (`au_id`) REFERENCES `author` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci  


2. 建表后创建外键: 

Alter Table `ym` Add Constraint `fk_author` Foreign Key (`au_id`) References `author` (`id`);   


3. 查看表结构: 

Show Create Table `ym`; 


4.级联: 在末尾可加上(可单独添加,也可全部添加):

ON UPDATE CASCADE(级联更新)

ON DELETE CASCADE(级联删除) 


比如:

ALTER TABLE `ym`  ADD  CONSTRAINT  `fk_author`  FOREIGN  KEY  (`au_id`)  REFERENCES  `author`  (`id`) ON UPDATE CASCADEON DELETE CASCADE;   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值