重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先要创建一个字段:alter table 表名 add 字段名 字段类型;
创新互联于2013年开始,先为舞钢等服务建站,舞钢等地企业,进行企业商务咨询服务。为舞钢企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
再添加外键约束:alter table 需加外键的表 add constraint 外键名 foreign key(需加外键表的字段名) references 关联表名(关联字段名);
注意:外键名不能重复
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、之后在该界面中,右键点击Student表里“设计”选项。
3、接着在该界面中,右键点击“Sno”属性里“设置主键”选项。
4、然后在该界面中,表Student设置Sno主键成功。
5、之后在该界面中,右键点击Course表里“设计”选项。
6、接着在该界面中,右键点击“Cno”属性里“设置主键”选项。
7、然后在该界面中,表Course设置Cno主键成功。
8、接着在该界面中,右键点击SC表里“设计”选项。
9、然后在该界面中,右键点击“Sno”属性里“关系”选项。
10、接着在该界面中,选择主键表为Student表里的“Sno”属性。
11、然后在该界面中,右键点击“Cno”属性里“关系”选项。
12、接着在该界面中,选择主键表为Course表里的“Cno”属性。
13、最后在该界面中,表SC设置Sno外键,Cno外键成功。
为已经添加好的数据表添加外键:
语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)
//FK_ID是外键的名称
/*
CREATE TABLE `tb_active` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `user_id_2` (`user_id`),
CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
*/
删除外键
语法: ALTER TABLE table-name DROP FOREIGN KEY key-id;
例: ALTER TABLE `tb_active` DROP FOREIGN KEY 'FK_ID'
自动键更新和删除:
外键可以保证新插入的记录的完整性,但是,如果在REFERENCES从句中已命名的表删除记录会怎么样?在使用同样的值作为外键的辅助表中会发生什么?
很明显,那些记录也应该被删除,否则在数据库中就会有很多无意义的孤立记录,MYSQL可以通过向FOREIGN KEY...REFERENCES修饰符添加一个ON DELETE 或ON UPDATE子句简化任务,它告诉了数据库在这种情况如何处理孤立任务。