主键和外键数据类型一致,都是整数int 啊,为啥还会报错1215呢?

##创建数据库

create database mytest;

use mytest;

##创建表格

create table intern(

id int,

name varchar(4),

comment char(2),

salary numeric(8,2),

offertime datetime,

##确定主键;唯一且确定、不能为空、聚簇索引(排序依据)

primary key(id));

##插入数据,查看表格;

insert into intern value(606,'张球球','良好',8800,'2021-4-5 14:00:03');

insert into intern value(607,'曹凯','优秀',8700,'2021-4-6 14:00:05');

insert into intern value(604,'于佳丽','良好',8000,'2021-4-5 13:00:56');

insert into intern value(601,'贾梦威','一般',8500,'2021-4-3 15:34:36');

insert into intern value(589,'吴限','良好',8400,'2021-3-6 13:45:37');

 

select * from intern;

 

##外键

create table tage(

id int,

age int,

name varchar(4),

primary key(age),

foreign key(id)references intern);

insert into tage value(606,8,'张球球');

insert into tage value(607,9,'曹凯');

insert into tage value(604,10,'于佳丽');

insert into tage value(601,13,'贾梦威');

insert into tage value(589,14,'吴限');

 

select * from tage;

age这段的数据必须在intern表的id字段存在才可以。外键其实就是引用,有才可以用,如果没有,没办法引用当前报错了。

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y