自己做实验好像是这样的,还想听听高手的,请不吝赐教!

解决方案 »

  1.   

    foreign key 就是对列来约束的
      

  2.   

    foreign key 本身就是针对列的啊。 你想实现的功能是什么?
      

  3.   

    楼主想要的肯定是这个:
    DROP TABLE IF EXISTS test;
    CREATE TABLE test(
    a MEDIUMINT NOT NULL,
    b MEDIUMINT REFERENCES a
    )ENGINE = InnoDB;某一字段引用本表中的其它字段。可以这么描述的。
      

  4.   

    create table department(dptNo varchar(4),location varchar(8),primary key(dptNo));
    create table employee(empNo varchar(5),dpNo varchar(4)  foreign key references department(dptNo));
    就会出错,在pgsql,和mysql下边,如果改成标记约束:foreign key(dpNo) references department(dptNo)就成功通过了!
    还望高手赐教!
      

  5.   

    这只是语法问题,和“foreign key只能作为表级约束而不能是列级约束吗”有何关系?即使“foreign key(dpNo) references department(dptNo)”表示的也是,dpNo列应用了dptNo来实施外键约束,也还是列级约束。
      

  6.   

    我的意思是是不是mysql跟pgsql就不支持这样的语法呢?
      

  7.   

    不支持.
    必须是:foreign key(dpNo) references department(dptNo) 这样的语法.
      

  8.   

    create table employee(empNo varchar(5),dpNo varchar(4)  foreign key references department(dptNo));