如何定义外键来的?
比如我现在有个学生表 中有id
我还有个教师表 也有id
学生的id是外键 怎么写sql语句来的?

解决方案 »

  1.   

    这不是一句
    http://tech.ddvip.com/2007-05/118009486725743.html
      

  2.   

    lz你这个问法有问题?怎么会学生ID做老师表的外键,难道你想弄成一老师对应一学生或一学生对应多个老师.
    一般这种老师学生的对应关系都是多对多,通过关系表来解决,要是如何定义外键.lz可以上网搜下,很多的...
      

  3.   

    我就随便举个例子,不过我已经查到了用foreign key 然后references再问个问题,我想删除主键中的数据,但是由于有外键约束必须先删除外键中相应的数据才能删除主表中的相应的那条数据,但是我想先想强行删除怎么办?
      

  4.   

    你只要关联着就不能删除
    除非你cascade级联删除数据
      

  5.   

    先弄清映射关系,..........语法为:alert table 外键表名 add constraint foreign key 外键列名 references 主键表名(主键列名)
      

  6.   

    你可以这样写嘛:在添加外键的时候:constraints 约束名 foreign key(外键字段名) references 表名(字段名) on delete cascade; 这样就可以从主表中删除了,并且从表中也会自动的删除
      

  7.   

    student-------id
    teacher-------peridcreate table teacher(
    id number primary key,
    info varchar2(12) not null,
    perid number,
    constraint addr_per_fk foreign key(perid) references per(id)
    );
    不知道这样是否符合你的要求呢!
      

  8.   

    alert table 外键表名 add constraint fk_name foreign key 外键列名 references 主键表名(主键列名)
      

  9.   

    。一下子没反应过来。
    是呀,这里是Java区,怎么跑出个问SQL的?
      

  10.   

    crate table 学生表
    (
        ……
        id foreign key(id) references 教师表(id),
        或者
        id foreign key(id) references 教师表(id) on delete no action,
        或者
        id foreign key(id) references 教师表(id) on delete casecade,
        或者
        constraint c1(名字随便起) foreign key(id) references 教师表(id)    ……
    )
    不知道这样的结果是否令你满意!
    记住 给我加分啊!呵呵……
      

  11.   


    create table b(id number(10), foreign key (id) references a(id) on delete casecade);
    你是这意思不?
    为什么不行呢?说什么却是关键字.....on delete casecade有错误!!
      

  12.   

    这是可以的 我今天试了一下 情况如下create table Teacher
    (
      id int primary key,--定义id为主键
      name char(20) not null,
      sex char(2) not null check(sex in('男','女')) default '男'--性别只能为男或女,默认为男
    )结果为: 命令已成功完成。
    create table Student
    (
      id int not null foreign key(id) references Teacher(id) on delete cascade,--
      name char(20) not null,
      sex char(2) not null check(sex in('男','女')) default '男'
    )
    结果为: 命令已成功完成。你可以吧这段代码复制到查询分析器里,再试一下,肯定行的.
    呵呵,祝你学习愉快啊!
      

  13.   

    create table teacher
    (
       id int primary key,
       name char(20) not null
    )crate table student 

       id int primary key,
       teacher_id int references teacher(id),
       name char(20) not null