还有十五分钟图书馆关闭,赶紧来把今天的关于MySQL外键修改的内容记录一下。
背景:
在写作业的时候必要的建立了两个数据表。
users表和records表修改前如下所示:
可以看出开始的情况是:
records的user_id是外键,引用数据表users的字段id。
目的
修改外键的字段类型为int(10)
先修改了数据表users的字段id为int(10).
alter table users
然后修改数据表records的user_id为int(10).是不能完成的。之前添加了约束才把它设置成外键的,为什么一定要设置一个约束呢???我还没有猫懂,但是这次更改后直接添加外键约束也是成功了的。
过程
1、解除外键约束
alter table records drop foreign key jfdksj;
2、修改外键引用表的主键字段类型(毫无障碍)
alter table users modify id int(10);
3、修改外键所在字段的字段类型
alter table records modify user_id int(10);
4、使字段不为空(设置not nulll时一定要带上字段类型才会成功,据说是这样)
alter table records modify user_id int(10) not null;
手打的希望一个字母都没错
copy完图片已经关灯了,猫黑再放个连接。(我的键盘并没有背光灯)
参考:
添加一个外键
修改字段类型
?回寝室啦,明天又是要打代码的一天。