当前位置: 代码迷 >> VFP >> 有关sql中 create 语句 的 foreign key 子句解决方法
  详细解决方案

有关sql中 create 语句 的 foreign key 子句解决方法

热度:3923   发布时间:2013-02-26 00:00:00.0
有关sql中 create 语句 的 foreign key 子句
1. 先建立了一个学生表:
  create table 学生(;
学号 c(5) primary key,;
姓名 C(8) NULL,;
年龄 N(2) check (年龄>10 AND 年龄<25) ERROR"年龄应大于10,小于25",;
性别 C(2),;
入学时间 D DEFAULT{^2006-09-01})

  后建立 成绩表
  create table 成绩(;
学号 c(5) primary key,;
英语 N(6,2),;
法律 N(6,2),foreign key 学号 tag 学号 references 学生)

  希望能够建立一对一的关系。 学号是两个表的主键。可是,执行第二个建表命令后,建立的索引
只是普通索引,建立的关系是一对多关系。
  请问如何用 create 命令 建立一对一关系呢?
  谢谢

------解决方案--------------------------------------------------------
一对一关系是在数据库界面上将一个表的主键拖到另一个表的主键上来创建的.
------解决方案--------------------------------------------------------
creat database mydatabase
create table 学生(;
学号 c(5) primary key,;
姓名 C(8) NULL,;
年龄 N(2) check (年龄>10 AND 年龄<25) ERROR"年龄应大于10,小于25",;
性别 C(2),;
入学时间 D DEFAULT{^2006-09-01})
create table 成绩(;
学号 c(5) unique,;
英语 N(6,2),;
法律 N(6,2),)
alter table 成绩 add froeign key 学号 tag 学号 references 学生 tag 学号

------解决方案--------------------------------------------------------
ADD FOREIGN KEY [ eExpression5] TAG TagName4[FOR lExpression6] 
是向表中添加外部(非主)索引,所以不能用这个,用下面的

SQL code
Close Databases AllErase 学生.*Erase 成绩.*Erase mydatabase.*Creat Database mydatabaseCreate Table 学生(;    学号 c(5) Primary Key,;    姓名 C(8) Null,;    年龄 N(2) Check (年龄>10 And 年龄<25) Error"年龄应大于10,小于25",;    性别 C(2),;    入学时间 D Default{^2006-09-01})Create Table 成绩(;    学号 c(5) ,;    英语 N(6,2),;    法律 N(6,2))Alter Table 成绩 Alter Column 学号 c(5) Primary Key References 学生 Tag 学号Modify Database
  相关解决方案