我创建了'学生'表,其中'sid'是主键,我在sid中插入了许多值。我创建了第二个名为'courses'的表,它有一个主键'cid'我也输入了cid的值。现在,我想创建一个名为'enroll'的关系表,我已经这样做了 -
create table enroll(
grade char(2),
sid int not null,
cid int not null,
primary key(sid,cid),
foreign key (cid) references courses(cid) on delete cascade,
foreign key (sid) references students(sid) on delete cascade
);
现在,当我尝试使用select * from enroll;
查看表格时
我没有得到任何输出。它说“0行返回”。为什么是这样?是不是应该从其他表中获得sid和cid的所有值?
答案 0 :(得分:0)
你刚刚创建了表结构,架构,你的表是空的,所以你没有得到任何结果。
答案 1 :(得分:0)
为了从其他表中的值创建新表,您可以执行以下操作:
CREATE TABLE new_table AS (SELECT * FROM old_table);
有关详细信息,请参阅this文章
无论如何,对于你的具体情况:
Create table enroll AS (Select s.sid AS 'Sid', c.cid AS 'Cid' from courses c inner join students s on c.something = s.something)
替换' .something'与学生的身份