MySQL外键添加时细节提醒

本文详细介绍了MySQL中外键的添加方法,包括建表时和建表后添加外键的SQL语句,多对多关系下外键的设计,以及常见的错误提醒。通过实例,帮助读者掌握外键设置的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL外键添加时细节提醒

1.建表时的公式:

CREATE TABLE tea(
	  tid INT(4) PRIMARY KEY AUTO_INCREMENT,
	  tname VARCHAR(12);
CREATE TABLE stu(
	  sid INT(4) PRIMARY KEY AUTO_INCREMENT,
	  sname VARCHAR(12),
	  st INT(4),
	  FOREIGN KEY(st) REFERENCES tea(tid)
	 );

2.建表后再添加外键的公式:

ALTER TABLE cou ADD ct INT(4);-- 添加一列属性后
ALTER TABLE cou ADD FOREIGN KEY(ct) REFERENCES tea(tid);-- 再设为外键

3.对于多对多关系的外键添加:

学生与选课的关系是多对多
CREATE TABLE stu(
	 sid INT(4) PRIMARY KEY AUTO_INCREMENT,
	 sname VARCHAR(12),
	 st INT(4),
	 FOREIGN KEY(st) REFERENCES tea(tid)
	);
CREATE TABLE cou(
	 cid INT(4) PRIMARY KEY AUTO_INCREMENT,
	 cname VARCHAR(12)
	);
此时需要新建一个表,放两个表主键所对应的外键
CREATE TABLE temp(
	 sid INT(4),
	 cid INT(4),
	 PRIMARY KEY(sid,cid),
	 FOREIGN KEY(sid) REFERENCES stu(sid),
	 FOREIGN KEY(cid) REFERENCES cou(cid)
	);

4.温馨提示(个人初学时常犯错误):

  • 主表必须要有主键,并且其数据类型与外键完全相同,包括长度
  • 外键可以作为主键,这多用于多对多关系中
  • 注意表名拼写不要出错
  • 设计表的最后一列字段结尾不要 ‘ ,’

5.外键设计记住口诀:
对应关系,如一对多,多对多。多的那一方里面设外键,属于从表,一的那一方属于主表。而多对多关系里,新表与其他两个表的对于关系是多对一,所以新表是从表,里面设外键,其他两个表相对于新表是主表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来的千万富翁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值