1.CREATE TABLE `t_topic` (boaId INT NOT NULL ,primary key(boaId)) ENGINE=InnoDB
2.CREATE TABLE `t_board` (topicId INT NOT NULL,topicBoaId VARCHAR(20) NOT NULL,
PRIMARY KEY(topicId))ENGINE=InnoDB 
3.alter table t_topic add foreign key (topicBoaId) references t_board(boaId)
怎么建立不上呢?请高手看看在mysql中建立外键应该注意什么?小弟刚开始学mysql,先谢谢了.

解决方案 »

  1.   

    http://www.builder.com.cn/2006/0224/229663.shtml
    你参考一下,介绍的比较的详细
      

  2.   

    1.CREATE   TABLE   `t_topic`   (boaId   INT   NOT   NULL   ,primary   key(boaId))   ENGINE=InnoDB 
    2.CREATE   TABLE   `t_board`   (topicId   INT   NOT   NULL,topicBoaId VARCHAR(20)   NOT   NULL, 
    PRIMARY   KEY(topicId))ENGINE=InnoDB   
    3.alter   table   t_topic   add   foreign   key   (topicBoaId)   references   t_board(boaId) 解答:
    3.写的有问题。你是想在 t_board表中创建一个外建去参照 t_topic表中 主建 boaId吗。
    逻辑关系整错了吧,
    我认为是这样。alter table t_board add foreign key (topicId) references t_topic(boaId)
      

  3.   

    你的表必须是innoDB,呵呵,我也遇到过类似的问题,后来解决后就写下一篇博客:
    征服MySQL之 外键与参照完整性