这是一对多的关系模型问题
This is one to many relational model question
这是我的 sql 的代码。这段代码有什么问题。第二个 table 显示一条错误消息。
第一个table没有错误。错误信息如下。
请找出错误原因。
***error maessage----->***
mysql> create table req(
-> rid int auto_increment not null,
-> joinedDate datetime not null default current_timestamp(),
-> constraint primary key(rid),
-> constraint foreign key(fid) references friend(fid)
-> );
*** ERROR 1072 (42000): Key column 'fid' doesn't exist in table
mysql>
***My SQL code.......>***
drop database if exists new;
create database new;
use new;
create table friend(
fid int auto_increment not null,
fname varchar(25) not null,
tp int(3) not null,
constraint primary key(fid)
);
insert into friend(fname,tp)
values
('Nimal Perera',0775548754),
('Sandun Hashan',0755548754),
('Kamni wasundara',0765548754),
('Nuawani Sandareka',0771545704);
select* from friend;
desc friend;
create table req(
rid int auto_increment not null,
joinedDate datetime not null default current_timestamp(),
constraint primary key(rid),
constraint foreign key(fid) references friend(fid)
);
create table req(
rid int,
fid int,
joinedDate datetime not null default current_timestamp(),
constraint primary key(rid),
constraint foreign key(fid) references friend(fid)
on delete cascade on update cascade
);
drop database if exists new;
create database new;
use new;
create table friend(
fid int auto_increment not null,
fname varchar(25) not null,
tp int(3) not null,
constraint primary key(fid)
);
insert into friend(fname,tp)
values
('Nimal Perera',0775548754),
('Sandun Hashan',0755548754),
('Kamni wasundara',0765548754),
('Nuawani Sandareka',0771545704);
select* from friend;
desc friend;
create table req(
fid int,
rid int auto_increment not null,
joinedDate datetime not null default current_timestamp(),
constraint primary key(rid),
constraint foreign key(fid) references friend(fid)
);
select* from req;
desc req;
输出----->
+-----+-------------------+-----------+
| fid | fname | tp |
+-----+-------------------+-----------+
| 1 | Nimal Perera | 775548754 |
| 2 | Sandun Hashan | 755548754 |
| 3 | Kamni wasundara | 765548754 |
| 4 | Nuawani Sandareka | 771545704 |
+-----+-------------------+-----------+
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| fid | int(11) | NO | PRI | NULL | auto_increment |
| fname | varchar(25) | NO | | NULL | |
| tp | int(3) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
Empty set (0.00 sec)
+------------+----------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+-------------------+----------------+
| fid | int(11) | YES | MUL | NULL | |
| rid | int(11) | NO | PRI | NULL | auto_increment |
| joinedDate | datetime | NO | | CURRENT_TIMESTAMP | |
+------------+----------+------+-----+-------------------+----------------+
这是我的 sql 的代码。这段代码有什么问题。第二个 table 显示一条错误消息。 第一个table没有错误。错误信息如下。 请找出错误原因。
***error maessage----->***
mysql> create table req(
-> rid int auto_increment not null,
-> joinedDate datetime not null default current_timestamp(),
-> constraint primary key(rid),
-> constraint foreign key(fid) references friend(fid)
-> );
*** ERROR 1072 (42000): Key column 'fid' doesn't exist in table
mysql>
***My SQL code.......>***
drop database if exists new;
create database new;
use new;
create table friend(
fid int auto_increment not null,
fname varchar(25) not null,
tp int(3) not null,
constraint primary key(fid)
);
insert into friend(fname,tp)
values
('Nimal Perera',0775548754),
('Sandun Hashan',0755548754),
('Kamni wasundara',0765548754),
('Nuawani Sandareka',0771545704);
select* from friend;
desc friend;
create table req(
rid int auto_increment not null,
joinedDate datetime not null default current_timestamp(),
constraint primary key(rid),
constraint foreign key(fid) references friend(fid)
);
create table req(
rid int,
fid int,
joinedDate datetime not null default current_timestamp(),
constraint primary key(rid),
constraint foreign key(fid) references friend(fid)
on delete cascade on update cascade
);
drop database if exists new;
create database new;
use new;
create table friend(
fid int auto_increment not null,
fname varchar(25) not null,
tp int(3) not null,
constraint primary key(fid)
);
insert into friend(fname,tp)
values
('Nimal Perera',0775548754),
('Sandun Hashan',0755548754),
('Kamni wasundara',0765548754),
('Nuawani Sandareka',0771545704);
select* from friend;
desc friend;
create table req(
fid int,
rid int auto_increment not null,
joinedDate datetime not null default current_timestamp(),
constraint primary key(rid),
constraint foreign key(fid) references friend(fid)
);
select* from req;
desc req;
输出----->
+-----+-------------------+-----------+
| fid | fname | tp |
+-----+-------------------+-----------+
| 1 | Nimal Perera | 775548754 |
| 2 | Sandun Hashan | 755548754 |
| 3 | Kamni wasundara | 765548754 |
| 4 | Nuawani Sandareka | 771545704 |
+-----+-------------------+-----------+
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| fid | int(11) | NO | PRI | NULL | auto_increment |
| fname | varchar(25) | NO | | NULL | |
| tp | int(3) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
Empty set (0.00 sec)
+------------+----------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+-------------------+----------------+
| fid | int(11) | YES | MUL | NULL | |
| rid | int(11) | NO | PRI | NULL | auto_increment |
| joinedDate | datetime | NO | | CURRENT_TIMESTAMP | |
+------------+----------+------+-----+-------------------+----------------+