天若有情

到教堂忏悔,愿主安抚我罪恶的心灵......
posts - 4, comments - 35, trackbacks - 0, articles - 24
 找了很久才找到并搞清楚的mysql中建立外键的方法,看下面的例子。 
   一个主表blog博客表,
DROP TABLE IF EXISTS `blog`;
CREATE TABLE `blog` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(11) default NULL,
  `content` varchar(11) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
   另一个表comment,评论表
   博客表和评论表关系是1:N
  
drop table comment;
create table comment(
 id       int primary key,
 user     varchar(11),
 email    varchar(11),
 url      varchar(11),
 content  varchar(11),
 addTime  date,
 blog_id  int,
 constraint FK_blog_id foreign key (blog_id) references blog(id) 
)ENGINE=InnoDB DEFAULT CHARSET=gb2312;   
  
    注意,一定要varchar(11),要不然就错了,我是根据已有表导出sql才看出来的.
    这个sql语句用sql-front导出后的结果是:
DROP TABLE IF EXISTS `comment`;
CREATE TABLE `comment` (
  `id` int(11) NOT NULL,
  `user` varchar(11) default NULL,
  `email` varchar(11) default NULL,
  `url` varchar(11) default NULL,
  `content` varchar(11) default NULL,
  `addTime` date default NULL,
  `blog_id` int(11) default NULL,
  PRIMARY KEY  (`id`),                         
  KEY `FK_blog_id` (`blog_id`)                         
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;                         
ALTER TABLE `comment`
  ADD FOREIGN KEY (`blog_id`) REFERENCES `blog` (`id`);