现在我要建立以下这张表(Course):
Cno Cname Cpno Ccredit
1 数据库 5 4
2 数学 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4
其中属性Cpno受到Cno的约束我在书上看到的语句是
CREATE TABLE Course(
Cno char(4) primary key,
Cname char(40),
Cpno char(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)/*完整性约束*/
);
执行上面的语句没问题,但是在插入第一条元组时提示Cpno这个属性受到约束不能插入,这个我能理解。
于是我换了一种方式,就是在创建表时不加约束条件,在把所有元组逐条插入完之后再增加约束说明,现在问题来了,不知道增加约束的语句是什么,在网上查了很多好像也不正确。求各位大神解答
Cno Cname Cpno Ccredit
1 数据库 5 4
2 数学 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4
其中属性Cpno受到Cno的约束我在书上看到的语句是
CREATE TABLE Course(
Cno char(4) primary key,
Cname char(40),
Cpno char(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)/*完整性约束*/
);
执行上面的语句没问题,但是在插入第一条元组时提示Cpno这个属性受到约束不能插入,这个我能理解。
于是我换了一种方式,就是在创建表时不加约束条件,在把所有元组逐条插入完之后再增加约束说明,现在问题来了,不知道增加约束的语句是什么,在网上查了很多好像也不正确。求各位大神解答
这个语法MYSQL的官方免费手册上就有。
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
Cannot add or update a child row: a foreign key constraint fails('s_t'.'#sql-160_1',CONSTRAINT '#sql-160_1_ibfk_1' FOREIGN KEY ('Cpno') REFERENECS 'Course'('Cno'))